我得到的錯誤是:我嘗試在SQL語句中使用的變量,我已經試過mysql_real_escape_string但仍然無法
致命錯誤:未捕獲的異常「PDOException」有消息「SQLSTATE [42S22]:列未找到:在 'where子句'」
1054未知列 'gz_01' 這是我原來的代碼:
// $universityID would be column name like gz_01, gz_02, wh_01, wh_02...etc...
// value in gz_01 column is int type
$universityID = "gz_01";
addSubscription($universityID);
function addSubscription($university){
Here I skip the codes of connection to SQL
// count the subscription
$sql = "UPDATE qr_code_count
SET $university = $university + 1
";
$pdo->exec($sql);
}
但gz_01值不爲每個addSubscription()調用加1。
當我用$ SQL = 「UPDATE qr_code_count SET gz_01 = gz_01 + 1」我的代碼和預期一樣,在gz_01值增加爲每個addSubscription()調用。
我在stackoverflow上搜索了答案,發現使用mysql_real_escape_string()的可能解決方案,但是我的代碼仍然失敗。
任何人都可以給我一個關於我的代碼有什麼問題的指針嗎?謝謝。
1)什麼$大學的精確值是您使用? (只有gz_01?) 2)你有什麼錯誤嗎? – Uriziel
你有沒有嘗試用字符包裝字段名?它可以通過MYSQL引擎以某種尷尬的方式解析'_'字符。 – Uriziel
這可能不在上下文中,但是可以嘗試關閉同一行中的SQL嗎? –