為什么更新成功,更新行數(shù)0
<?php
//連接數(shù)據(jù)庫
mysql_connect('127.0.0.1', 'code1', '');
mysql_select_db('code1');
mysql_query("set names 'utf8'");
//預設數(shù)據(jù)以便進行更新操作
mysql_query("insert into user(name, age, class) values('王二', 19, '高三五班')");
$id = mysql_insert_id();
//在這里更新id為$id的行的名字為李白
$sql = "update user set name ='李白' where id = $id limit 1";
if (mysql_query($sql)){
? ? echo '更新成功';
}
//輸出更新數(shù)據(jù)條數(shù)
echo '數(shù)據(jù)更新行數(shù):'.mysql_affected_rows();
mysql_query("delete from user where id='$id'");
?>
為什么更新成功,更新行數(shù)0?
樓上有評論用不同方法成功的,但是不是教程里面提到的方法所以不少很明白
2018-08-14
你可以試試輸出$id的值,var_dump($id),如果你的$id值為0,那么mysql_query($sql)會返回true ,“更新成功”也會輸出,更新行數(shù)為0,符合你說的情況。具體原因的話我不太清楚,可能是數(shù)據(jù)庫的數(shù)據(jù)是從編號1開始的吧
2018-06-25
可能 是樓上 說的 你寫在if外面的話 可能是作用域過了,下面返回影響行數(shù)就不行
2018-04-21
if條件語句去掉就行了。因為你把sql語句發(fā)送作為if條件語句的條件了,所以當if條件語句執(zhí)行完畢后,這段就告一段落了
2018-03-31
$sql = "update user set name ='李白' where id = $id limit 1";這一句有錯誤,$id要加單引號才對。
你可以看下代碼的最后一句,$id也是加了引號的。
2017-06-14
更新之后要么是沒更新到東西,比如name本身就等于李白,要不就是條件錯了,沒找到id=$id行的并且修改,要不然是不可能返回0行的