-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

我想你正在寻找ON DUPLICATE KEY UPDATE.

于 2013-02-01T00:48:55.773 回答
0

谷歌搜索“用多行值 php 更新表”

产生了这个结果:http ://snipplr.com/view/20334/

我希望这会有所帮助,兄弟!

亚历克斯

于 2013-02-01T00:50:29.607 回答
0

据我所见,我仍在努力理解它,恕我直言,您可以简单地按顺序执行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 回答