我試圖使用下面的代碼,但它給了我錯誤。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'
如果我改變$行動標準的文字語句工作正常,它只是似乎與單引號和方括號問題。
我也嘗試過在單引號前使用\,它仍然失敗。
任何想法?
這個$動作應該是什麼?語法完全被破壞。它應該是一個數組嗎? – Erik 2015-04-02 13:44:33
這是我以後需要調用的JSON,因此將其存儲在數據庫中,直到需要調用它爲止。 – 2015-04-02 13:46:09
如果'$ id'是一個int,那麼這是防止注入的最小值。 '$ id =(int)$ _ GET ['id'];'。其他防止注入的方法,http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php – chris85 2015-04-02 13:53:01