php - 无法通过php向mysql表中插入数据

标签 php mysql

我无法将数据插入 mysql 表中。我的代码有什么问题吗? 这是我使用过的 php 代码。我提交后没有收到任何回复。 php 在包含 html 表单的同一页面中使用,因此我的属性是 action=""和 method="post"。请帮忙。 在此处输入代码

<?php
    ob_start();
    session_start();
    require_once 'dbconnect.php';

    // if session is not set this will redirect to login page
    if( !isset($_SESSION['user']) ) {
        header("Location: index.html");
        exit;
    }
    // select loggedin users detail
    $res=mysql_query("SELECT * FROM users WHERE userId=".$_SESSION['user']);
    $userRow=mysql_fetch_array($res);


    if ( isset($_POST['sub']) ) {

        // clean user inputs to prevent sql injections
        $name1 = $_POST['name1'];
        $name2 = $_POST['name2'];
        $name3 = $_POST['name3'];
        $name4 = $_POST['name4'];
        $name5 = $_POST['name5'];
        $name6 = $_POST['name6'];
        $name7 = $_POST['name7'];
        $name8 = $_POST['name8'];
        $name9 = $_POST['name9'];


        if( !$error ) {

            $query = "INSERT INTO users(name1,name2,name3,name4,name5,name6,name7,name8,name9) VALUES('$name1','$name2','$name3','$name4','$name5','$name6','$name7','$name8','$name9') WHERE userId=".$_SESSION['user'];
            $res = mysql_query($query);

            if ($res) {
                $errTyp = "success";
                $errMSG = "Successfully registered, you may login now";
                unset($name1);

            } else {
                $errTyp = "danger";
                $errMSG = "Something went wrong, try again later...";   
            }
            }
}
?>

最佳答案

正如 Alex.Barylski 在评论中指出的那样,INSERT 语句会创建一个新行,因此您不能使用 WHERE 子句(用于检查现有行...)。如果要更新已存在的行,请使用以下命令而不是 INSERT 语句:

     $query = 'UPDATE users SET name1 = "$name1", name2 = "$name2", name3 = "$name3" WHERE userId=' . $_SESSION['user'];

另请注意,您可以使用 mysql_affected_rows() 检查 UPDATE 查询是否成功,请参阅此问题:How do I tell when a MySQL UPDATE was successful versus actually updated data?

关于php - 无法通过php向mysql表中插入数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42604877/

相关文章:

php - 找不到存储过程中的错误

php - 尝试将每行的 2 列值相乘并打印所有行的总和

php -> 从数组中删除包含黑名单中单词的项目

php - 使用 Wamp 2.1 安装 PEAR

mysql - Django,长过滤器查询

Mysql减少多表多条件查询的执行时间

php - 如何使用来自其他 namespace 的对象以及如何在 PHP 中导入 namespace

php - 如何根据包含至少一个数组元素的相关表获取正确的行?

mysql - 显示 LEFT JOIN 中不存在的 Mysql 查询结果

c# - 每次获取Mysql后用逗号获取Mysql数据 C# Mysql