用不同的值更新存在表,PHP?

如果值更改,我怎么能更新许多行? 我从包含超过130行的XML文件导出数据,并在我的MYSQL数据库上有相同的数字,我想比较它,如果有新行并插入,更新已更改的行。

注意:插入新行工作正常,但更新不起作用!

$query = "SELECT positionid FROM vacant WHERE positionid = '".$position."' and ptitle = '".$ptitle."' and location = '".$location."' and vacantd = '".$vdate."' and candidate = '".$resultcandidate."' and cv = '".$cvtorsaf."'"; $sql = mysql_query($query); if (!$sql) { // add this check. die('Invalid query: ' . mysql_error()); } $recResult = mysql_fetch_array($sql); $existName = $recResult["positionid"]; if($existName=="") { $insertTable= mysql_query("insert into vacant (positionid, ptitle, location, vacantd, candidate, cv) values('".$position."', '".$ptitle."', '".$location."', '".$vdate."', '".$resultcandidate."', '".$cvtorsaf."');"); } else { $insertTable= mysql_query("UPDATE vacant SET ptitle = '".$ptitle."', location = '".$location."', vacantd = '".$vdate."', candidate = '".$resultcandidate."', cv = '".$cvtorsaf."' WHERE positionid = '".$position."'"); } 

嗨如果您在更新字段有error ,您的code看起来仍然正确

然后只是尝试print你的error 。 使用mysql_error();

 $insertTable= mysql_query("UPDATE vacant SET ptitle = '".$ptitle."', location = '".$location."', vacantd = '".$vdate."', candidate = '".$resultcandidate."', cv = '".$cvtorsaf."' WHERE positionid = '".$position."'") or print_r(mysql_error());die;