PDO和执行代码

时间:2013-11-01 13:53:51

标签: php mysql pdo

关于执行PDO语句的一个简单问题。

以下是我的查询

$setDate = "INSERT INTO wl_datecheck (inputdate) VALUES (UNIX_TIMESTAMP(STR_TO_DATE($reportDate, '%Y%m%d')))";

现在,我正在做的是设置查询&连接作为变量$ data如下:

$data = $conn->query($setDate);

我需要知道的是,^^单独执行还是需要包含

$data->execute();

询问的原因是我似乎从INSERT语句中获得了重复的内容。我不知道为什么

2 个答案:

答案 0 :(得分:3)

你确实要做两次,你要么使用Query,要么执行。

来自文档:

  

PDO :: query()在单个函数调用中执行SQL语句,   返回语句返回的结果集(如果有)作为   PDOStatement对象。

     

对于需要多次发出的查询,您会意识到   如果使用准备PDOStatement对象,性能会更好   PDO :: prepare()并发出多次调用的语句   PDOStatement对象::执行()。

http://us2.php.net/pdo.query

答案 1 :(得分:-1)

您也可以使用rowCount()

简单地检查Insert语句的结果
$data = $conn->query($setDate);
if($data->rowCount() >= 1){
 //echo "Inserted";
}else{
 //echo "An error occurred while inserting";
 //$arr = $data->errorInfo();
 //print_r($arr);
}

无需致电execute()

相关问题