※ 引述《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