0

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 ステートメントから重複したコンテンツを取得しているようで、その理由がわからないためです

4

2 に答える 2

3

あなたは確かにそれを2回行っています.QueryまたはExecuteのいずれかを使用しています.

ドキュメントから:

PDO::query() は、単一の関数呼び出しで SQL ステートメントを実行し、ステートメントによって返された結果セット (存在する場合) を PDOStatement オブジェクトとして返します。

複数回発行する必要があるクエリの場合、PDO::prepare() を使用して PDOStatement オブジェクトを準備し、PDOStatement::execute() を複数回呼び出してステートメントを発行すると、パフォーマンスが向上します。

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

于 2013-11-01T13:56:34.670 に答える
-1

を使用して、Insert ステートメントの結果を簡単に確認することもできます。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()

于 2013-11-01T14:10:47.033 に答える