當我執行我的代碼時出現此錯誤。 我知道這已經在這裏討論過好幾次了,但是我無法通過閱讀那裏提供的解決方案來解決我的問題。PDO錯誤:一般錯誤:2031
這是錯誤我得到: 致命錯誤:未捕獲的異常 'PDOException' 有消息「SQLSTATE [HY000]:常規錯誤:2031
這是我的代碼:
function insertMarker(){
$lat = $_POST['lat'];
$long = $_POST['long'];
$street = $_POST['street'];
$city = $_POST['city'];
$zip = $_POST['zip'];
echo ("$lat, $long, $street, $city, $zip");
global $dbconnect;
$query = $dbconnect->query("INSERT INTO address (latitude, longitude, street, city, zip) VALUES (?,?,?,?,?)");
$query->bindParam(1, $lat);
$query->bindParam(2, $long);
$query->bindParam(3, $street);
$query->bindParam(4, $city);
$query->bindParam(5, $zip);
$query->execute();
//$query->execute(array(":lat"=>$lat, ":long"=>$long,":street"=>$street,":city"=>$city,":zip"=>$zip));
}
如果'dbconnect'是'PDO'的一個實例,那麼查詢都會創建一個[prepared語句,然後一次執行它](http://php.net/manual/en/pdo .query.php)。所以它沒有得到最初綁定的參數。使用['PDO :: prepare'](http://php.net/manual/en/pdo.prepare.php)而不是'PDO :: query'。 – prodigitalson 2014-12-07 00:10:26
@prodigitalson謝謝你! PDO ::準備是解決方案! – dan 2014-12-07 00:15:23