PHP SQL语句不接受变量

时间:2015-04-02 13:31:48

标签: php sql

我正在尝试使用以下代码,但它给了我错误。

代码:

$id = $_GET['id'];
$action = '['command'=>'get','target'=>'location']';

$query = "UPDATE ZeusUsers SET action = '$action' WHERE notification_id = '$id'";
$result = mysqli_query($link,$query) or exit("Error in query: $query. " . mysqli_error());

错误:

Parse error: syntax error, unexpected 'command'

如果我将$ action更改为标准单词,则该语句可以正常工作,它似乎与单引号和方括号有关。

我也尝试在单引号前面使用\但它仍然失败。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

让php为你构建json字符串

$action = json_encode(array('command'=>'get','target'=>'location'));

您正在使用单引号启动和停止字符串文字,因此php将command解释为php代码,但它不知道该关键字是什么。