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')";追问

有不一样吗?。

php 插入mysql时数据没有插入,但是也没有报错,什么原因呢?
表面上看,是因为你的insert 语句后面的值都没有用单引号或双引号包起来.自己跟踪下还有没有其它错误,最简单的就在mysql_query($sql2,$connect2)后面加一行 echo mysql_error();die();看看出什么错,再改正再调试就行了

php mysql插入不进去数据
这个的原因可就多了。建议在你出错那段加以点儿mysql报错。这样起码知道为什么出错。很有可能是你的title之类的里面有多余的引号而没有被escape。一般起码会加上addslashes()。比如 $title=addslashes($_POST["title"]);echo mysql_error();echo "alert('添加文章出错!');";...

php无法向mysql数据库中添加数据怎么办?
你可以先在mysql里面执行一遍sql语句,看下能不能添加数据,先检查语句有没有问题,再看程序上的问题

php连接mysql成功了,但是插入数据失败!
现在数据库中执行insert into user values ( 5, '小明', 23 )这条语句是否有错 没有错的话 我我们在query()函数中打印下SQL语句,看是否执行到这个函数中来 估计我判断SQL语句错了的可能性比较大

PHP向phpmyadmin中插入数据插入不成功?
mysql_query($sql);echo "插入成功";改成:echo mysql_query($sql) ? '插入成功' : mysql_error();然后运行一下,如果输出“插入成功”,那你的数据库中是不可能没有数据的 如果输出一段英文,这段英文是返回的上一次mysql操作错误,也就是sql语句的运行错误结果,他很明确的告诉了你错误出现在...

PHP插入mysql问题, 下面语句哪里有问题啊,求教!值打印都是正确的,就...
insert 语句没有where子语句!你的sql语句错误 建议把 mysql_query($sql);改成 mysql_query($sql) or die( mysql_error() );打印出数据库的操作错误提示,看看错误原因!也不知道你这php教程是哪来的,谁教的!insert插入语句,竟然用where子语句!!!

菜鸟啊,php运行了但是插不进去数据库,望解答
把你的sql语句打印出来:sql="INSERT INTO table (user, title, content)VALUES('$_POST[user]','$_POST[title]','$_POST[content]')";die($sql);在浏览器运行后,复制他,然后到phpmyadmin里面,运行一下SQl,看看是否能成功

mysql无法插入数据,代码如下,在线等待,求解啊: 表示没有错误输出,最后...
php中你不能用NOW()这个函数,只能这样$time = date('Y-m-d H:i:s');而且php中根本就没有NOW()这样的函数,这个函数只是在数据库中才有的,别搞混了

怎么解决PHP报错 系统不支持Mysql 与数据库有关?
3. 检查数据库连接信息:确保您的PHP代码中的数据库连接信息(如主机名、用户名、密码、数据库名称)是正确的。一个小错误可能导致连接失败。4. 检查数据库服务:确保MySQL数据库服务器正在运行,并且没有问题。您可以通过尝试在命令行或其他MySQL客户端上连接到数据库来测试。5. 查看错误日志:检查PHP...

我按照了phpnow,但是无法单独运行MySQL,我想在mysql里面插入数据
可能你的程序版本不对,或者操作系统不是原版,缺少某些必要的组建 建议尝试其他类型的安装包

相似回答