作者bil193 (丁丁)
看板Web_Design
標題[問題] PHP+SQL寫留言版的問題
時間Tue Feb 10 21:42:52 2009
各位先進好,小弟是剛學完php的初生之犢,試著寫留言板,不料卻
"有時可以新增資料到database裡,有時卻不行"
database的欄位有no(primary key),author,title,content。除no是varchar外,
其餘都是text格式。
(完整彩色版:
http://src.wtgstudio.com/?5zG9Y1)
$select_sql="SELECT * FROM blog"; //先用$select_sql看現在的primary key有多
少
mysqli_query($link, "SET CHARACTER SET big5");
mysqli_query($link,
"SET collation_connection = 'big5_chinese_ci'");
$result=mysqli_query($link,$select_sql);
$total_fields=mysqli_num_fields($result); //$total_fields就是現在要新增的
prim\
ary key
VALUES(".$total_fields.",'".$author."','".$title."','".$content."')";
if(mysqli_query($link,$sql))
echo"影響記錄數:".mysqli_affected_rows($link)."<br>";
else
die("失敗<br>");
mysqli_free_result($result);
mysqli_close($link);
在有時候成功的狀況下,我寫了5筆資料到database,現在primary key是5
後來我從apache的phpAdmin軟體裡直接用那幾筆資料刪掉
照理說,primary key應變成0,可是
我的$total_fields卻一直都是5
造成資料一直無法寫入database....
是因為我用了$select_sql和$sql兩個sql指令,卻只釋放其中一個的關係嗎?
完整程式碼(同上):
http://src.wtgstudio.com/?5zG9Y1
拜託各位先進指點一下,在下想破了頭.....
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 124.6.13.94
※ 編輯: bil193 來自: 124.6.13.94 (02/10 21:43)
→ knives:我想你誤會mysqli_num_fields這個用法了,它是抓blog該資料 02/10 22:45
→ knives:表有多少欄位,而不是抓目前有幾筆資料,而且如果只是要讓 02/10 22:46
→ knives:它自動增加no號碼的話,直接把no設成自動遞增就好了吧 02/10 22:47
推 bobju:mysqli_num_fields用錯了. 02/11 00:18
→ bobju:fields是欄位的意思. 你要的應該是'rows' 02/11 00:19
→ bobju:還有,big5就會牽涉到'許功蓋'衝碼問題.這可上google查一下. 02/11 00:21
→ bobju:現在儘可能用utf8, 不要再用big5了.不然日後維護蠻麻煩的. 02/11 00:21
→ bil193:原來有這許功蓋問題...我以後會注意的 謝謝您 02/11 00:43