1
我正在編寫一個程序來監視我爲安全起見而擁有的一羣計算機。我試圖在數據庫中存儲用戶的數據使用下面的代碼:PDO MySQL prepare->執行INSERT INTO不會出現在數據庫中
$con->prepare("INSERT INTO `myComputers` (`hwid`, `ip`, `pcname`, `username`, `os`, `country`, `first`) VALUES (:hwid, :ip, :pcname, :username, :os, :country, :first")->execute(
array(
':hwid' => $data_array['hwid'],
':ip' => $data_array['ip'],
':pcname' => $data_array['pcname'],
':username' => $data_array['username'],
':os' => $data_array['os'],
':country' => $data_array['country'],
':first' => $data_array['first']
)
);
我沒有得到任何錯誤,但是當我看到在我的數據庫沒有插入任何數據。我已經檢查過$data_array
中的每個項目實際上都設置了某種東西。另外這裏是我的MySQL數據庫建設查詢:
CREATE TABLE IF NOT EXISTS myComputers(
hwid VARCHAR(64) NOT NULL PRIMARY KEY,
ip VARCHAR(45) NOT NULL,
pcname VARCHAR(50) NOT NULL,
username VARCHAR(50) NOT NULL,
os VARCHAR(150) NOT NULL,
country CHAR(2) NOT NULL,
first int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
我一直堅持這個小時,不知道是什麼導致問題。任何幫助將不勝感激。
下面是一些測試數據我解析(我改變了我的IP地址):
blahblah
123.12.123.123
PotatoPC
MyPotato
Windows
AU
1447671823
我認爲數組中缺少':'from'first'是一個錯字? – CD001
謝謝你指出。雖然這不能解決問題。 –
你在你的SQL查詢中缺少一個''''''。我期望準備失敗,並且你會收到關於在非對象上調用'execute'的警告。查看您的錯誤日誌並在您的PDO連接上啓用異常模式。 –