将数据插入数据库的问题

时间:2011-12-16 22:26:15

标签: php mysql

我运行此函数并且post表单的值不会插入到DB中。我没有收到任何错误消息,但我检查并看到$ this-> user_id正在填充。我错过了别的什么吗?

function senddata () {
    $con = mysql_connect("localhost","root","XXXXX");
    if (!$con)
        {
    die('Could not connect: ' . mysql_error());
        }
        mysql_select_db("user", $con);
        $sql="INSERT INTO profile (collegemajor) VALUE('$_POST[major]') WHERE userid=$this->user_id";

    mysql_close($con);

    }

3 个答案:

答案 0 :(得分:1)

  1. INSERT语句没有WHERE clausule,
  2. 你需要发送查询!!!

答案 1 :(得分:0)

首先,我没有看到mysql_query() - 执行查询的函数。

似乎问题在于:

$sql="INSERT INTO profile (collegemajor) VALUE('$_POST[major]') WHERE userid=$this->user_id";

改为使用$sql="INSERT INTO profile (collegemajor) VALUE('$_POST[major]');

代码:

    function senddata () {
        $con = mysql_connect("localhost","root","XXXXX");
        if (!$con)
            {
        die('Could not connect: ' . mysql_error());
            }
            mysql_select_db("user", $con);
            $sql="INSERT INTO profile (collegemajor) VALUE('$_POST[major]');";
        mysql_query( $sql , $con );

        mysql_close($con);

        } 

答案 2 :(得分:0)

这应该是一个更新函数,而不是插入函数(如果你试图更新已经存在的行,这似乎是基于“Where”子句)。

并且,正如其他人所提到的,你从未运行过mysql_query()或类似的函数。