sql >> データベース >  >> RDS >> Mysql

mysqli:1つのステートメントで複数のクエリを準備できますか?

    プリペアドステートメントは、1つのMySQLクエリのみを実行できます。さまざまな変数で必要な数のステートメントを準備できます:

    $stmtUser = $sql->prepare("INSERT INTO user (id_user, username, pw, email) VALUES (?,?,?,?)");
    $stmtProc = $sql->prepare("INSERT INTO process (id_user, idp) VALUES (?,?);");
    

    そして、後でそれらを実行します。両方が実行できない限り、どちらも実行されないようにする場合は、Thomasが言ったように、トランザクションを調べる必要があります。

    また、一般的なヒント:「非オブジェクトでのメンバー関数の呼び出し」は、prepare()で発生する標準エラーです。 失敗するため、$stmt 実際にはプリペアドステートメントオブジェクトではありません。これは通常、prepare()でエラーを探す必要があることを意味します 後で何よりもステートメント。



    1. マージ更新オラクルは、安定した行のセットを取得できません

    2. Oracleの日付から文字列への変換

    3. 同期が外れたときにpostgresの主キーシーケンスをリセットするにはどうすればよいですか?

    4. SQLServerのネストされたトランザクションでエラーを処理する方法