Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将数据插入数据库时出现问题_Php_Mysql - Fatal编程技术网

Php 将数据插入数据库时出现问题

Php 将数据插入数据库时出现问题,php,mysql,Php,Mysql,我运行这个函数,post表单的值不会插入数据库。我没有收到任何错误消息,但我检查并看到$this->user\u id正在填充。我还缺什么吗 function senddata () { $con = mysql_connect("localhost","root","XXXXX"); if (!$con) { die('Could not connect: ' . mysql_error()); } mysql_selec

我运行这个函数,post表单的值不会插入数据库。我没有收到任何错误消息,但我检查并看到$this->user\u 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);

    }

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

问题似乎就在这里:

$sql="INSERT INTO profile (collegemajor) VALUE('$_POST[major]') WHERE userid=$this->user_id";
使用
$sql=“INSERT INTO profile(collegemajor)值(“$\u 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);

        } 
  • INSERT语句没有WHERE子句
  • 你需要发送查询

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


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

    您是否在执行查询?通过使用mysql_查询函数?也可以从insert语句中删除where子句,但我需要将值插入某一行,其中用户id与活动用户等效。我如何才能做到这一点?然后使用update语句。例如“update profile set collegemajor=”$\u POST[MAJUR]“WHERE userid=$this->user\u id”我如何更新多个字段?哇)我完全没有意识到这是一个“插入”查询)我需要将值插入活动用户的行中,因此WHERE查询是不可能的吗?@MattMcClintock所以你需要
    $sql=“更新你的\u表集collemajor=“.$\u POST['major']”WHERE userid=" . $此->用户id。“;”函数sendschool(){$con=mysql\u connect(“localhost”、“root”、“xxxxx”);if(!$con){die('cannotconnect:'.mysql\u error());}mysql\u select\u db(“user”,$con);$sql=“updateprofile SET school='$\u POST[school]”其中userid=$this->user\u id;“mysql\u查询($sql,$con);mysql_close($con)}35;#现在一切都好了让我们