我有一个主键值为
的数据库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"
答案 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;