看板 PHP 關於我們 聯絡資訊
※ 引述《picachuxyz (XHTML&CSS&PHP)》之銘言: : 貼上完整原始碼給大家參考 : <?php : $author=$_POST["author"]; : $subject=$_POST["subject"]; : $content=$_POST["content"]; : $current_time=date("Y-m-d H:i:s"); : $link=mysql_pconnect("localhost","a","b"); : if(!$link) die("開啟資料庫失敗"); 以上兩行可改寫為 $link=mysql_pconnect("localhost","a","b") or die("開啟資料庫失敗"); : $a=mysql_query("set names 'big5'"); : if(!$a) die("轉碼失敗"); : $db_select=mysql_select_db("guestbook",$link); : if(!$db_select) die("開啟資料庫失敗"); 以上兩行不需要再用$db_select承接回傳值,直接 mysql_select_db("guestbook",$link) or die("開啟資料庫失敗"); 就可以收工回家 : $sql="INSERT INTO message (author,subject,content,date) : VALUES('$author','$subject','$content','$current_time')"; : $result=mysql_query($sql); : if(!$result) die("執行SQL指令失敗"); 以上兩行也是... $result除非你要撈資料...不然不用 : ?> : 執行網頁發生以下這個錯誤 : =>執行SQL指令失敗 Data too long for column 'author' at row 1 意思是author欄位的長度太短(varchar(10)),資料放不進去 在utf8中,每個中文字長度不一,1~4個byte都有的樣子 把改長一點,比如varchar(50)就可以了 : 建立資料表語法為 : CREATE TABLE message ( : id INT NOT NULL AUTO_INCREMENT PRIMARY KEY , : author VARCHAR(10) NULL, : subject TINYTEXT NULL, : content TEXT NULL, : date DATETIME NULL); : 應該是寫入資料的時候出問題,實在是不知道哪裡出問題, : 感覺最近寫程式遇到鬼><....麻煩大家幫我看一下^^ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 163.16.1.95