我是pdo的新手,不知道为什么以下插入查询不起作用。如果我删除执行查询的行,当然没有插入,但不会有错误。如果我离开该行,则不执行该脚本。当然,我检查并重新检查了表名和字段名。希望有人可以理解我。请注意,在执行查询之前,我的表的ber_mBacth_date字段设置为NULL。干杯。马克
<?php
$db_host = 'localhost';
$db_user = 'user';
$db_password = 'user';
$db_database = 'myconsole';
$mBatchDate = date('Y-m-d H:i:s');
$connexion = new PDO("mysql:host=$db_host;dbname=$db_database", $db_user, $db_password);
$qry = $connexion->execute('UPDATE batcherrors SET ber_mBatch_date = "'.$mBatchDate.'"');
$connexion = NULL;
?>
答案 0 :(得分:1)
你能尝试而不是:
$connexion = new PDO("mysql:host=$db_host;dbname=$db_database", $db_user, $db_password);
$qry = $connexion->execute('UPDATE batcherrors SET ber_mBatch_date = "'.$mBatchDate.'"');
做的:
$statement = $connexion->prepare("UPDATE batcherrors SET ber_mBatch_date = :mBatchDate");
$statement->bindValue(':mBatchDate', $mBatchDate, PDO::PARAM_STR);
$statement->execute();
建议使用Binding来设置参数值(过度连接)。