作者wawawa (哇哇哇○( ̄﹏ ̄)○)
看板PHP
标题Re: [请益] sql指令错误 INSERT INTO
时间Thu Jan 5 08:33:59 2006
※ 引述《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