$array['a']['b']=50;
mysql_query("update table set name=name-$array['a']['b']");
显示错误。为什么不工作?如何解决?
由于
答案 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']."'");