-1

私の場合、INSERT と UPDATE の両方を行ったので、有権者がすでに投票している場合は、tbl_initialVote テーブルの情報を更新するだけであるという条件を設定しました。そうでない場合は、挿入されます。これを更新形式で行うにはどうすればよいですか。助けてください...変数$voterの冗長性を無視してください..thnks。

$mysqli->query("INSERT INTO `tbl_initialVote` (`studId`, `candId`) 
                VALUES ('".$voter."', '".$chairman."'), 
                       ('".$voter."', '".$vchairman."'), 
                       ('".$voter."', '".$secretary."'), 
                       ('".$voter."', '".$treasurer."')")

ペテルムへ

//this $getinfo is base on the logged in user
 $getinfo = $mysqli->query("SELECT studId FROM`tbl_initialVote` WHERE studID = '".$voter."'"); 
    if ($getinfo->num_rows > 0 ){
          //here i know it got me error on this but this just i want to happen, make an update in the table if the user is already listed on my table. how could i suppose to do like this...@Peterm.    
              $mysqli->query(UPDATE `tbl_initialVote` set candId = VALUES('".$chairman."', '".$vchairman."', '".$secretary."', '".$treasurer."')

              } else {
       $mysqli->query("INSERT INTO `tbl_initialVote` (`studId`, `candId`) 
                VALUES ('".$voter."', '".$chairman."'), 
                       ('".$voter."', '".$vchairman."'), 
                       ('".$voter."', '".$secretary."'), 
                       ('".$voter."', '".$treasurer."')")

                   }
4

3 に答える 3

0

私が見たところ、私はまだそれを理解するのに苦労しています.IMHOは、単純に順番に実行しDELETEてからINSERT、新しいレコードを更新することはできません。

そうすれば、すべてのコードは次のようになります。

$mysqli->query("DELETE FROM `tbl_initialVote` WHERE `studId`='" .$voter. "'");
$mysqli->query("INSERT INTO `tbl_initialVote` (`studId`, `candId`) 
                VALUES ('".$voter."', '".$chairman."'), 
                       ('".$voter."', '".$vchairman."'), 
                       ('".$voter."', '".$secretary."'), 
                       ('".$voter."', '".$treasurer."')");
于 2013-02-02T17:38:27.430 に答える
0

を探していると思いますON DUPLICATE KEY UPDATE

于 2013-02-01T00:48:55.773 に答える
0

Googleは「複数の行の値を持つ更新テーブルphp」を検索しました

この結果が得られました: http://snipplr.com/view/20334/

これが役立つことを願っています、兄弟!

アレックス

于 2013-02-01T00:50:29.607 に答える