我是在ubuntu 下面,用的eclipse pdt,conn.php用来链接数据库,显示已成功,于是
<?php
include 'conn.php';
if ($_POST['submit'])
{

$sql="insert into BBS (ID,user,title,content,lastdate) values ('','$_POST(user)','$_POST(title)','$_POST(content)',now())";
mysql_query($sql);
echo 'success';
}
?>
<form action="add.php" method="post">
user:<input type="text" size="10" name="user"><br>
title:<input type="text" name="title"><br>
content:<textarea name="content"></textarea>
<input type="submit" name="submit">
</form>
一个小表单,输入以后,提交,显示success,但是为什么数据库中没有插入的信息呢?百思不得起解。开始以为是sql语句错了,于是在phpmyadmin下输入sql语句,正确执行。哪里错了呢??

解决方案 »

  1.   

    有这么写的?$_POST(user) 难道不是 $_POST['user']?其他的类推
      

  2.   

    $_POST(user)
    错了。不是圆括号,是方括号,双引号中包含最好用 {$_POST['user']}
    $sql="insert into BBS (user,title,content,lastdate) values ('{$_POST['user']}', '{$_POST['title']}','{$_POST['content']}',now())";建议你打开错误提示,这种问题PHP会告诉你出错了的
      

  3.   

    另外你不做任何判断就echo 'success';
    所以你就会给自己蒙蔽
      

  4.   


    改成你那样了,但是还不对总是insert不进去,是不是权限或者别的问题?
      

  5.   

    mysql_query($sql) or die(mysql_error());  //有不有错误
      

  6.   

    $result = mysql_query($sql) or die(mysql_error());
    var_dump($result);
    是否有 (boolean)true 类似这样的输出?
      

  7.   


    ^_^,找到错误啦,就是这错了,谢了,我之前在链接的时候用的or die 没显示错误,我以为正确了呢,原来错误在此,非常感谢
      

  8.   


    错误显示没no database select 。于是我把insert into BBS。这个bbs表改成了PHP。BBS,数据库.表名的格式才行。其实我conn.php已经链接了数据库。。不知道是不是版本的问题。
      

  9.   

    不可能是版本的问题
    mysql_connect(...);
    mysql_select_db('数据库名');
    你是这样用的么?
      

  10.   

    是啊,我的conn.php就是这么写的。。我在这个add.php中,先include conn.php ,然后insert的时候必须用这种方式才行,否从不可以。。
      

  11.   

    那么在 mysql_select_db('数据库名'); 下面加上一句
    echo mysql_error();
      

  12.   

    conn.php出错误啦
    Unknown database 'PHPResource id #2'
      

  13.   

    哈哈哈,我终于知道我错在哪了。。mysql_select_db("PHP",$conn);
    把php和$conn之间用的句号。。哈哈哈,我的错我的错