【问题标题】:SQL Insert Into Errors - Using PHP and MariaDBSQL 插入错误 - 使用 PHP 和 MariaDB
【发布时间】:2017-03-10 22:30:41
【问题描述】:

代码如下:

            $coinno = $_POST["CoinNo"];
            $week = $_POST["week"];
            $payer = $_POST["payer"];
            $payee = $_POST["payee"];

            $servername = "localhost";
            $username = "username"; // Edited from original
            $password = "password";
            $dbname = "database";

            // Create connection
            $conn = new mysqli($servername, $username, $password, $dbname);
            // Check connection
            if ($conn->connect_error) {
                die("Connection failed: " . $conn->connect_error);
            }
            $sql = "INSERT INTO `Transactions`(`Week`,`Coin`,`Payer`,`Payee`)
                                      VALUES ($week,$coinno,'$payer','$payee')";
            if($conn->query(sql)===TRUE)
            {
                echo "Success";
            }
            else
            {
                echo "Error ".$sql."<br>".$conn->error;
            }
            $conn->close;
        ?>

还有我的错误信息:

错误 INSERT INTO Transactions(Week,Coin,Payer,Payee) VALUE (1,2,'Bob','Carol') 您的 SQL 语法有错误;查看与您的 MariaDB 服务器版本相对应的手册,了解在第 1 行的“sql”附近​​使用的正确语法

我尝试过使用反引号、单引号等。即使从 phpMyAdmin 复制生成的查询也无济于事。

另一个值得注意的问题是我的 Transactions 表只有一行,但是当我尝试选择它时,我得到 0 个结果。会不会有联系?

【问题讨论】:

标签: php sql mariadb


【解决方案1】:
if($conn->query(sql)===TRUE)

-->

if($conn->query($sql)===TRUE)

另外,养成翻转 if 的习惯——一些函数返回 FALSE 或有用的东西。也就是说,他们可能永远不会返回TRUE。那就是:

if($conn->query($sql) !== FALSE)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-10-19
    • 2020-09-12
    • 1970-01-01
    • 1970-01-01
    • 2012-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多