当我执行我的代码时出现此错误。 我知道这已经在这里讨论过好几次了,但是我无法通过阅读那里提供的解决方案来解决我的问题。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