我正在尝试使用以下代码,但它给了我错误。
代码:
$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更改为标准单词,则该语句可以正常工作,它似乎与单引号和方括号有关。
我也尝试在单引号前面使用\但它仍然失败。
有什么想法吗?
答案 0 :(得分:2)
让php为你构建json字符串
$action = json_encode(array('command'=>'get','target'=>'location'));
您正在使用单引号启动和停止字符串文字,因此php将command
解释为php代码,但它不知道该关键字是什么。