关于执行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语句中获得了重复的内容。我不知道为什么
答案 0 :(得分:3)
你确实要做两次,你要么使用Query,要么执行。
来自文档:
PDO :: query()在单个函数调用中执行SQL语句, 返回语句返回的结果集(如果有)作为 PDOStatement对象。
对于需要多次发出的查询,您会意识到 如果使用准备PDOStatement对象,性能会更好 PDO :: prepare()并发出多次调用的语句 PDOStatement对象::执行()。
答案 1 :(得分:-1)
您也可以使用rowCount()
$data = $conn->query($setDate);
if($data->rowCount() >= 1){
//echo "Inserted";
}else{
//echo "An error occurred while inserting";
//$arr = $data->errorInfo();
//print_r($arr);
}
无需致电execute()