这有效
"SELECT firstName, lastName FROM table1 WHERE firstName=$resultArrays[one]";
但是这个多维数组元素引用不是
"SELECT firstName, lastName FROM table1 WHERE firstName=$resultArrays[one][first]";
任何人都可以解释原因吗?
感谢
答案 0 :(得分:0)
这是因为php不会将第二组大括号识别为变量的一部分,因此它认为您正在尝试插入$resultsArrays[one]
,后面跟着文字字符串[two]
。 / p>
因为$resultArrays[one]
是一个数组,所以会出现以下错误
PHP注意:数组转换为字符串
和以下输出
SELECT firstName,lastName FROM table1 WHERE firstName = Array [two]
要正确插入数组,请使用花括号,不要忘记引用您的键。
print "SELECT firstName, lastName FROM table1 WHERE firstName={$resultArrays['one']['two']}";
<强>旁注强>
您应该使用预准备语句而不是将变量插入到sql字符串中(这会使您的代码对sql注入开放)。见mysqli_stmt_bind_param