本地调试着好好的。。传到虚拟主机上就插不进数据了主要语句如下$sql = "insert into cb_guestbook(id,uname,email,msg,ip,posttime,ischeck)
values(NULL,'$uname','$email','$msg','$ip','$posttime','1')";
if(mysql_query($sql)) echo "插入成功";就是这一句,上下我都调过了。。变量取得很正常就是怎么插都插不进去。。本地环境插的进去。
搞了好长时间不知道怎么办了,。大家帮我看看
values(NULL,'$uname','$email','$msg','$ip','$posttime','1')";
if(mysql_query($sql)) echo "插入成功";就是这一句,上下我都调过了。。变量取得很正常就是怎么插都插不进去。。本地环境插的进去。
搞了好长时间不知道怎么办了,。大家帮我看看
values('$uname','$email','$msg','$ip','$posttime','1')";
values(NULL,'$uname','$email','$msg','$ip','$posttime','1')";数据库中id为primary key,而你却设置成null,这条语句是错的,所以根本插入不进去
$sql = "insert into cb_article(tid,cid,title,text,author,ischeck,click,posttime)
values(NULL,'$cid','$title','$editor1','若非零落','1','1','$posttime')";
此处的tid和上面的id是一个设置。自动增长 主键
include("h.php");
include("inc/conn.php");
$action=$_GET['action'];
if($action=="savemsg")
{
$uname = $_POST['uname'];
$email=$_POST['email'];
$msg=$_POST['msg'];
$msg=stringFormat("$msg");
$qq=$_POST['qq'];
$ip=GetIp();
$posttime=MyDate(1);
echo $posttime."-".$ip."-".$uname."-".$email."-".$msg."-".$qq;//输出正常
$sql = "insert into cb_guestbook(id,uname,email,msg,qq,ip,posttime,ischeck)
values(null,'$uname','$email','$msg','$qq','$ip','$posttime','1')";
if(mysql_query($sql)) echo "插入成功";//无法插入
}
?>
我怀疑你的$posttime是不是不对改成now() ?
MyDate()是我自己写的一个函数function MyDate($c)
{ date_default_timezone_set('Asia/Shanghai');
if($c==1)
return date('Y-m-d H:i:s');
else
if($c==2)
return date('Y-m-d');
}
posttime取值输出正常。
这个是留言本的地址,大家给看看。。
我在后台提交文章的提交的好好的。。留言就是提交不上去。post文件的代码就是7L的代码去掉其中的id
结果很迷茫大家帮忙看下。。是不是主机的问题。。
$sql="你的查询语句";
$result = mysql_query($sql) or trigger_error(mysql_error().$sql);
你可以看一下首页的文章显示很正常,用的是一个db连接而且db连不上的话应该会显示错误的挖。。可是啥都没有。不知道是不是主机的问题
哇咔咔,我看到返回的错误了用的句子是 echo var_dump($result);
返回的信息是bool(false) 什么意思。。
$action=$_GET['action'];if($action==save)
{
//检查是否有提交记录
if(isset($_POST['submit']))
{
if($dbh=mysql_connect("$db_host:$db_port","$db_user","$db_password")) echo "连接成功!"; else echo "连接未成功!";
if (mysql_select_db("$db_name")) echo "数据库选择成功!";else echo "连接未成功!";
$uname = $_POST['uname'];
$email=$_POST['email'];
$msg=$_POST['msg'];
$msg=stringFormat("$msg");
$qq=$_POST['qq'];
$ip=GetIp();
$posttime=MyDate(1);
mysql_query("set names gb2312");
$sql = "insert into cb_guestbook(uname,ischeck)
values('$uname',1)";
$result = mysql_query($sql) or trigger_error(mysql_error().$sql);
echo "222222".var_dump($result);
mysql_close();//关闭MySQL连接提交的数据还没有js控制。。大家可以试一下http://maxover.web-117.com/guestbook.php
按照上面代码最后输出 连接成功 数据库连接成功 bool(false) 2222222222
如果你
$result = mysql_query($sql) or trigger_error(mysql_error().$sql);
var_dump($result);
输出 bool(false) 只能说明sql语句是错误的
error_reporting(E_ALL ^ E_NOTICE);
貌似服务器将错误屏蔽了,看不到详细的错误。
....
$result = mysql_query($sql) or die(mysql_error());
跟著拷貝到phpmyadmin中執行.如果成功.說明數據庫連接有問題,
如果失敗 說明sql語句有問題.
跟著自己用phpmyadmin點擊插入,給每個行添加內容,得到添加的sql語句 跟著拷貝到php頁面中.進行變量替換.
这句代码直接放到页面的时候可以正常插入数据。
$sql="INSERT INTO `cb_guestbook` ( `id` , `posttime` , `uname` , `email` , `qq` , `ip` , `ischeck` , `msg` , `reply` , `replytime` , `title` ) VALUES (NULL , '1988123456', '陈亚超', '[email protected]', '123456', '10.10.10.10', '1', '卧槽看看神恶魔', '看啊看你', '', '')";
而这样就不行了
$sql="INSERT INTO `cb_guestbook` ( `id` , `posttime` , `uname` , `email` , `qq` , `ip` , `ischeck` , `msg` , `reply` , `replytime` , `title` ) VALUES (NULL , '$posttime', '$uname', '$email', '$qq', '$ip', '1', '$msg', '', '')";
现在学会了一种方法,就是只用mysql里面的语句,那样最准确。再次谢谢大家。
$sql="INSERT INTO `cb_guestbook` ( `id` , `posttime` , `uname` , `email` , `qq` , `ip` , `ischeck` , `msg` , `reply` , `replytime` , `title` ) VALUES (NULL , '$posttime', '$uname', '$email', '$qq', '$ip', '1', '$msg', '', '','')";