2017-07-05 59 views
-1

這是我的代碼。我無法執行它。MySQL錯誤無效的參數號:參數沒有被定義

這是錯誤消息我上$db->execute();行:

SQLSTATE [HY093]:無效的參數號:沒有定義參數」

$query = "UPDATE gateway_devices " 
     ."SET coin_lat=:coin_lat, coin_lng=:coin_lng" 
     ."WHERE nick_name=:nick_name AND gateway_id=:g_id AND device_id=:d_id"; 

$db->query($query); 
$db->bind(':coin_lat', $coin_lat); 
$db->bind(':coin_lng', $coin_lng); 
$db->bind(':nick_name', $nick_name); 
$db->bind(':g_id', $g_id); 
$db->bind(':d_id', $d_id); 
$db->execute(); 
+2

如果打印出來的'$ query',你就會明白爲什麼它不工作。我認爲構建的查詢中缺少空格是排印錯誤,並投票結束。 –

+0

@GordonLinoff謝謝,這是一個簡單的空間問題。 它現在。 – Mihir

回答

0

我不得不這樣做在關閉雙引號之前在第2行添加了一個空格。

這是查詢看起來像之前並添加空格之後。

之前 - 「UPDATE gateway_devices SET coin_lat =:coin_lat,coin_lng =:coin_lngWHERE NICK_NAME =:NICK_NAME AND gateway_id =:G_ID AND DEVICE_ID =:D_ID」

後 - 「UPDATE gateway_devices coin_lat SET =:coin_lat ,coin_lng =:coin_lng WHERE NICK_NAME =:NICK_NAME AND gateway_id =:G_ID AND DEVICE_ID =:D_ID」

相關問題