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


Reference multidemensional array element in MYSQL query

可以了

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

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

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

有人能解释为什么吗?

谢谢

这是因为php不识别第二组花括号作为变量的一部分,所以它认为你试图插入$resultsArrays[one],后面跟着文字字符串[two]

由于$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