2017-08-28 9 views
0

登録フォームが正常に動作しています。今度は、ユーザー登録後に2番目のクエリを追加します。このクエリはループを持ち、別のテーブルに10個の新しい行を追加する必要があります。これはループを使用したクエリですループでユーザー登録した後のステートメントを挿入

if ($conn->query($sql) === TRUE) { 
     $result = "Request successfully submitted."; 

     $new_id = $db_con->lastInsertId(); 

     $qty=11; 

     $sql = "INSERT INTO new_customer (user_id,value1,value2) VALUES"; 

     for($i=0;$i< $qty;$i++){ 
      $sql .= "($new_id,'1','0')"; 
      if($i < ($qty -1)){ 
       $sql .=","; 
      }    
     }      
} 

これが正しい方法であるかどうかわかりません。ユーザーが正常に登録された後、私はlastInsertIdを取得してループを作成し、new_customerテーブルに10個の新しい行を挿入しようとしています。

何が起こっているかは、ユーザーが登録されても、new_customerには何も保存されていないということです。ここでの問題は何ですか?

+4

- :あなたはmysqli_*を使用している場合

はまた、あなたはmysqli_insert_idを使用する必要がありますか? :) –

+1

あなたは内側のクエリを実行していないように見えます - あなたはSQL文字列を構築しています。 – Bananaapple

+1

ここで、new_customer挿入クエリのexecute文はありますか? – Naincy

答えて

1

あなたは以下のようなあなたの内側のクエリを実行する必要があります: -

$conn->query($sql); 

は、内側forループコードの後に​​それを追加します。 `最後の` $ conn->クエリ($ sqlを)行方不明

$new_id = $db_con->mysqli_insert_id;  
+0

はい、今は完全に動作しています。時にはとても簡単な間違い。ありがとう! – Peter

+0

@Peterは誰もが間違いを気にしない:) :) :)あなたのおかげで嬉しいです:) –

関連する問題