php语句无法向mysql中添加数据,但是运行无错误

代码如下:
<?php
include ("connect.php");
if (!empty($_POST['sub'])){
$title=$_POST['title'];
$con=$_POST['con'];
$sql="insert into 'news' ('id','title','dates','contents') values(null,'$title',now(),'$con')";
if (! $sql) echo "执行SQl $sql 错误:".mysql_error();
mysql_query($sql);

echo $sql;

}

?>
<form action="add.php" method="post">
标题<br>
<input type="text" name="title"><br>
内容<br>
<textarea row="3" cols="50" name="con"></textarea><br>
<input type="submit" name="sub" vale=“发表”>
</form>
一次运行结果:

但是打开数据表news 里无数据

请注意这样写

INSERT INTO `news` (`id`, `title`, `dates`, `contents`) VALUES (NULL, '1231', now(), '15236');

表名 news 不是用 '(单引号)  是用 `


另外.

 $sql="insert into `news` ('id','title','dates','contents') values(null,'$title',now(),'$con')";
if (! $sql) echo "执行SQl $sql 错误:".mysql_error(); 
   mysql_query($sql);


这里写的不对, 这也正是你不报错的原因.


$sql你以经赋值了,不可能不存在.  所以永远你也看不见 "执行SQl $sql 错误" 这句报错.


应该改成


 $sql="insert into `news` ('id','title','dates','contents') values(null,'$title',now(),'$con')";
  if (mysql_query($sql,$con))
  {
    echo "成功";
  }
else
  {
  echo "执行SQl $sql 错误:".mysql_error(); 
 }

追问

现在在外边,晚上回去试试 刚开始学
试了下,要把
if (mysql_query($sql,$con))改成 if (mysql_query($sql)) 才行。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-10-14
你把echo 的SQL语句直接复制了执行一下, 我估计不是主键 就是数据格式不匹配的原因 所以没有SQL没有执行成功
第2个回答  2015-11-06
打印下你的sql 语句出来看看!
第3个回答  2013-10-14
$sql="insert into 'news' ('id','title','dates','contents') values(null,'$title',now(),'$con')";

改成

$sql="insert into `news` (`id`,`title`,`dates`,`contents`) values(null,'$title',now(),'$con')";追问

有不一样吗?。