PHP& MYSQL,更新完全匹配的记录

时间:2016-01-18 09:38:18

标签: php mysql sql-update

我有一个主键值为

的数据库
John
John Clark
John Hall

我不仅仅更新John Clark而不更新其他两个..

我尝试过选择

$sql3 = "SELECT DISTINCT username FROM mydbase.mytable WHERE `username` LIKE '%".$usertable."%'";

$ usertable包含我想在dbase中找到的名称,即#34; John Clark"

一旦找到我想要更新,我的SQL就是

$sql4 ="UPDATE mydbase.mytable SET `picturecount` = ". $pictnumber  ." WHERE `username` LIKE '%".$usertable."%'";

所有3个名字正在更新中会发生什么,有人可以建议我如何更新我所追求的名称,在这种情况下" John Clark"

2 个答案:

答案 0 :(得分:1)

您的where条件会获得3行并更新它们,这是更好的方式,不要像where子句那样使用,更好的方法是必须对其进行稳定处理,例如id或其他东西,比如%john%获得3行,并更新它们。

$sql3 = "SELECT DISTINCT username,id FROM mydbase.mytable WHERE username LIKE '%".$usertable."%'";

和第二个查询如:

$sql4 ="UPDATE mydbase.mytable SET picturecount = ". $pictnumber ." WHERE username id=$sql3["id"]";
希望这有帮助。

答案 1 :(得分:0)

您只需使用以下代码:

  $sql4 ="UPDATE mydbase.mytable SET picturecount = '". $pictnumber .'" WHERE username =".$usertable;