2
$sql = "INSERT INTO images (path, useremail, approved, flagged,caption,date) VALUES ('$target','$email',0,0, '$caption','$b')";
$sql1 = "INSERT INTO users (name, email, phone) VALUES ('$peoplename','$email','$phone')"
$conn->execute($sql, $sql1);

上記は、2 つのテーブルに書き込みを試みるために使用しているコードです。COM オブジェクトを介した接続を導入する前は、これを問題なく実行できましたが、現在は何らかの理由で実行できません。どんな助けでも大歓迎です。

4

4 に答える 4

5

2番目のパラメーターは、パラメーターをクエリにバインドするためのものだと思いました。

サーバーで 2 つの SQL ステートメントを一度に実行できる場合、これでうまくいくかもしれません。(各クエリの末尾にセミコロンを追加し、両方のクエリを 1 つの文字列として連結します。)

$sql = "INSERT INTO images (path, useremail, approved, flagged,caption,date) VALUES ('$target','$email',0,0, '$caption','$b');";
$sql1 = "INSERT INTO users (name, email, phone) VALUES ('$peoplename','$email','$phone');";
$conn->execute($sql . $sql1); 

そうでなければ明らか

   $conn->execute($sql); 
   $conn->execute($sql1); 
于 2008-10-27T11:03:07.180 に答える
0

2 行目にセミコロンがありません。

于 2008-10-27T10:54:49.393 に答える
0

なぜそれを 1 つの SQL ステートメントとして入れないのですか?

$sql = "INSERT INTO images (path, useremail, approved, flagged,caption,date) VALUES ('$target','$email',0,0, '$caption','$b'); INSERT INTO users (name, email, phone) VALUES ('$peoplename','$email','$phone')";
$conn->execute($sql);
于 2008-10-27T11:03:36.570 に答える
0

Drew、私はPHPの第一人者ではありませんが、他の回答に欠けていると思うことの1つは、トランザクションの整合性です。セミコロンで区切られた同じ文字列に2つのINSERTを積み重ねても、アクションの原子性が保証されます(それが重要な場合:-)

お役に立てれば

于 2008-10-27T11:21:03.350 に答える