2012-03-28 116 views
0

我是pdo的新手,不明白为什么下面的插入查询不起作用。如果我删除执行该查询的行,那么当然不会插入,但不会有错误。如果我离开那条线,脚本不会被执行。当然,我检查并重新检查了表名和字段名称。希望有人能帮我理解。请注意,在执行查询之前,我的表的ber_mBacth_date字段被设置为NULL。干杯。马克PDO SQL - 更新查询问题

<?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; 
?> 

回答

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建议的方式来设置参数的值(在连接)。

+0

谢谢Michal ... – Marc 2012-03-28 12:37:51