作业帮 > 综合 > 作业

求达人 帮解释一下下面句子的用法,特别是问号的意思 $sql_mobile=$mobile?'OR email_mobi

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/28 00:16:05
求达人 帮解释一下下面句子的用法,特别是问号的意思 $sql_mobile=$mobile?'OR email_mobile=?' :' ';
$sql='SELECT * from dtb_customer WHERE (email=?' .$sql_mobile.')';
表示变量,程序执行时会用后面的$sql_mobile的值来取代?.
例如$sql_mobile的值为138,那么最后拼接出来的$sql的值将是:
SELECT * from dtb_customer WHERE (email=138)
再问: $sql_mobile前后的两个点是连接的意思吗? OR email_mobile=?的单引号和$sql_mobile的单引号是取字串符的意思吗?
再答: 对不起,刚才说错了。PHP并不会用$sql_mobile的值来取代?。因此拼接出来的sql语句中会带有问号,这里的每一个问号代表一个变量,需要在执行sql语句时输入。 举个其他语言的例子: String sql = "SELECT userid,name FROM tuser WHERE userid=? AND password=?" ; pstmt = conn.prepareStatement(sql) ; pstmt.setString(1,userid) ; // 这里设置了第一个?的值 pstmt.setString(2,password) ; // 这里设置了第二个?的值 等你“setString”完所有的?后,你的sql就构造好了。