根據我發現和看到的一切,這似乎是正確的。當我打印$查詢時,結果如下:PDO/PHP - bindValue似乎沒有工作
「INSERT INTO customers(FirstName,MiddleInit,LastName,Address,City,State,Zip,Email,Gender)VALUES(?,?,?,? ,?,?,?,?)「
參數應該用bindValues()中的變量填充。因此,例如...
INSERT INTO customers(FirstName,MiddleInit,LastName,Address,City,State,Zip,Email,Gender)VALUES(Bill,A,Hopkins,123 Ave,....)
我想堅持這種方法 - 它被try/catch塊包圍。從打印查詢變量中,我可以看到問題出在哪裏。
我錯過了什麼?我真的很感激你的期待!
$query = 'INSERT INTO customers (FirstName, MiddleInit, LastName, Address, City, State, Zip, Email, Gender) VALUES (?,?,?,?,?,?,?,?,?)';
echo $query;
$statement = $db->prepare($query);
$statement->bindValue(1, $firstName);
$statement->bindValue(2, $middle);
$statement->bindValue(3, $lastName);
$statement->bindValue(4, $address);
$statement->bindValue(5, $city);
$statement->bindValue(6, $state);
$statement->bindValue(7, $zip);
$statement->bindValue(8, $email);
$statement->bindValue(9, $gender);
$success = ($statement->execute());
不知道,沒有足夠的代碼提供瞭解決方案。無論您是使用PDO作爲連接的API,並且您的變量確實是正確的。檢查錯誤。 –
這不是如何準備報表工作。該語句作爲一個帶有佔位符的查詢(就像帶參數的函數一樣),當在數據庫上執行時,綁定的參數被注入(就像調用函數一樣) – Phil
我投票結束這個問題作爲離題,因爲它是關於對準備好的陳述的誤解 – Phil