-1

2 つのクエリを同時に実行したい 挿入クエリと更新クエリを実行したいのですが、更新クエリを使用すると挿入クエリが機能しませんが、更新クエリは機能します この問題の解決を手伝ってください。

  <?php



    $con=mysqli_connect("localhost","root","","my");
   // Check connection
   if (mysqli_connect_errno())
   {
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
     }
  $sql = "INSERT INTO `kyc`( `date`,`agentid`,`formno`, `bank`, `ptype`,
   `cardno`,      `cname`, `fname`, `mname`, `dob`, `phone`, `votarid`,`sex`, 
   `email`, `district`, `thana`)
   VALUES('$date','$agentid',$formno,'$bank','$ptype','$cardno','$cname','$fname',
    '$mname','$dob',$phone,$votarid,'$sex','$email','$district','$thana')";
    $sql="UPDATE card SET status='1'WHERE $cardno=`cardno`";
    $result = mysqli_query($con,$sql);

   echo "One raw Successfully inserted";




    mysqli_close($con);
   }
 ?>
4

4 に答える 4

0

それらを記述して ; で区切ることができます。

   $con=mysqli_connect("localhost","root","","my");
   // Check connection
  if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
 }
 $sql_insert = "INSERT INTO `kyc`( `date`,`agentid`,`formno`, `bank`, `ptype`,
 `cardno`,      `cname`, `fname`, `mname`, `dob`, `phone`, `votarid`,`sex`, 
 `email`, `district`, `thana`)
 VALUES('$date','$agentid',$formno,'$bank','$ptype','$cardno','$cname','$fname',
'$mname','$dob',$phone,$votarid,'$sex','$email','$district','$thana')";

$sql_update="UPDATE card SET status='1'WHERE $cardno=`cardno`";

$sql=$sql_insert.";".$sql_update;

  $result_insert = mysqli_query($con, $sql);


 echo "One raw Successfully inserted";




  mysqli_close($con);

}

于 2013-10-27T09:32:42.130 に答える
0

これは、トリガーを記述することで実現できます。したがって、挿入が発生するたびにトリガーが実行されます。

これらのリンクは、トリガーを学習するのに役立ちます http://dev.mysql.com/doc/refman/5.0/en/create-trigger.html http://net.tutsplus.com/tutorials/databases/introduction-to-mysql -トリガー/

本当に更新をクエリとして実行したい場合は;、挿入クエリの最後に追加してクエリを試すことができます。

 $sql = "INSERT INTO `kyc`( `date`,`agentid`,`formno`, `bank`, `ptype`,
   `cardno`,      `cname`, `fname`, `mname`, `dob`, `phone`, `votarid`,`sex`, 
   `email`, `district`, `thana`)
   VALUES('$date','$agentid',$formno,'$bank','$ptype','$cardno','$cname','$fname',
    '$mname','$dob',$phone,$votarid,'$sex','$email','$district','$thana');";
                                                                         ^
于 2013-10-27T09:14:59.347 に答える
0

これを使って:

$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

$sql_insert = "INSERT INTO `kyc`( `date`,`agentid`,`formno`, `bank`, `ptype`,
   `cardno`,      `cname`, `fname`, `mname`, `dob`, `phone`, `votarid`,`sex`, 
   `email`, `district`, `thana`)
   VALUES('$date','$agentid',$formno,'$bank','$ptype','$cardno','$cname','$fname',
    '$mname','$dob',$phone,$votarid,'$sex','$email','$district','$thana')";

$sql_update="UPDATE card SET status='1'WHERE $cardno=`cardno`";

$sql=$sql_insert.";".$sql_update;

$mysqli->multi_query($sql);

multi_query を使用すると、1 つの文で複数のクエリを実行できます。

詳細については、http : //docs.php.net/mysqli.multi-query
を参照してください。

于 2013-10-27T09:19:20.713 に答える