php中sql语句无法实现插入,但在phpmyadmin中可以用sql语句添加数据

大神们帮忙看看,最近在学PHP,按教程做有了问题,好久都没解决,下面贴代码。
conn.php
<?php
mysql_connect("localhost:3306","root","123")or die("mysql连接失败!");
mysql_select_db("php100")or die("db连接失败");
mysql_set_charset("gbk");
//mysql_query("set names 'gbk'");
?>

add.php
<?php
include("conn.php");//引入连接数据库
if(!empty($_POST['sub']))
{
$title=$_POST['title'];//提交值的名称name=
$con=$_POST['con'];
echo $sql="insert into `news`(`id`,`title`,`dates`,`contents`) values(null,'$title',now(),'$con')";//对应前面的字段名,例如id=null,dates=now()
$mysql_query($sql);
//echo"插入成功";
}
?>
<form action="add.php" method="post">
标题<input type="text" name="title"><br>
内容<textarea rows="5" cols="50" name="con"></textarea><br>
<input type="submit" name="sub" value="发表">
</form>

就是这段代码没有 加入$mysql_query($sql);时可以打印出sql语句的执行情况,加入后就出错。
echo $sql="insert into `news`(`id`,`title`,`dates`,`contents`) values(null,'$title',now(),'$con')";//对应前面的字段名,例如id=null,dates=now()
$mysql_query($sql);
另外还有一个疑问:now()在sql语句中应该怎么使用.insert into 'news'('dates')values(new());不能用啊。
希望大家帮忙解决一下我的疑问。

<?php

include('conn.php');//引入连接数据库

if(!empty($_POST['sub']))

{

$title=$_POST['title'];//提交值的名称name=

$con=$_POST['con']; 

    echo $sql="insert into `news`(`title`,`dates`,`contents`) values('$title',now(),'$con')";//对应前面的字段名,例如id=null,dates=now()

     echo mysql_query($sql) ? '插入成功' : '插入失败,错误提示:' . mysql_error();      

    
}

?>

追问

嗯,没看之前,试了很久也弄出来了,就是有个疑问:字段名之间用``隔开,函数间是用单引号隔开,我以为都是单引号的。对了,``这个符号读什么呀。
回答完就采纳了,谢谢。

追答

说实话,我也不知道读什么
我也只是知道esc键下面的那个键

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-07-20

    是mysql_query ,不是$mysql_query

    now()用法就是你那样用

追问

now()还是没办法插入啊,具体情况给您看看

追答

你怎么把php语句作为sql语句执行。。。。

第2个回答  2013-07-20
SQL语句写好看一点,虽然复杂
$sql="insert into `news`(`id`,`title`,`dates`,`contents`) values(null,"."{$title}".",now(),"."{$con}".")";

希望你能看得清
mysql_query()是个方法,木有$追问

恩,是的mysql_query()是没有$的,删了就不报错了,但是这样sql语句还执行不了啊,把字段类型给您看看吧,不知道是哪出错了,希望解答。

第3个回答  2013-07-20
你的错误提示是什么

你打印一下 $sql出来看看 是否是sql出错了
相似回答