在MYSQL查询中引用多维数组元素

时间:2014-07-20 03:30:34

标签: php multidimensional-array

这有效

"SELECT firstName, lastName FROM table1 WHERE firstName=$resultArrays[one]";

但是这个多维数组元素引用不是

 "SELECT firstName, lastName FROM table1 WHERE firstName=$resultArrays[one][first]";

任何人都可以解释原因吗?

感谢

1 个答案:

答案 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