質問: $db->prepare("$sql"); $result->execute; $result->finish; //////////////////////////////////////////// 上記のように複数行にわたるupdate文を一回のqueryで処理させたいのです。 上記のような方法で一回で処理はできないのでしょうか?どうしてもうまくいきません。 1行1行クエリーしないといけないのでしょうか? よろしくお願いします。
回答: > 上記のように複数行にわたるupdate文を一回のqueryで処理させたいのです。 それはできないです。 > 行1行クエリーしないといけないのでしょうか? そういうことです。 ただ、1回、1回同じようなsqlを解析させるとオーバーヘッドが高くなるので、形が同じでリテラルだけが異なるようなsqlを何度も発行する必要がある場合はprepared statementというものがよく使われます。 すると、こんな感じになるでしょう。 $sql = "update postagefee set aaa=? ,bbb=? where id = ?"; $result= $dbh->prepare($sql); $result->bind_param(1, 1); $result->bind_param(2, 2); $result->bind_param(3, 1); $result->execute; $result->bind_param(1, 3); $result->bind_param(2, 4); $result->bind_param(3, 5); $result->execute;