php mysql用数组更新值

时间:2012-11-22 15:46:49

标签: php mysql

$array['a']['b']=50;
mysql_query("update table set name=name-$array['a']['b']");

显示错误。为什么不工作?如何解决?

由于

4 个答案:

答案 0 :(得分:2)

使用.运算符连接字符串:

mysql_query("update table set name=name-" . $array['a']['b']);

答案 1 :(得分:2)

PHP的解析器不是“贪婪”。

echo "$arr[a][b]"

实际上被解析为好像是:

echo $arr['a'];
echo '[b]';

并将产生输出

Array[b]

您需要使用{}表示法来编写代码:

mysql_query("update table set name=name-{$array['a']['b']}");
                                        ^--              ^--

答案 2 :(得分:0)

这应该有更多工作机会:

$array['a']['b'] = 50;

// concatenate instead of accessing the array element directly into the string
// + intval() to ensure that the query will be correct
// (supposing that name is an number field)
mysql_query("update table set name = name - ".intval($array['a']['b']));

答案 3 :(得分:0)

试试这个:

mysql_query("update table set name='name-".$array['a']['b']."'");