SQL 插入错误 - 使用 PHP 和 MariaDB

SQL Insert Into Errors - Using PHP and MariaDB

代码如下:

            $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;
        ?>

我的错误信息:

Error INSERT INTO Transactions(Week,Coin,Payer,Payee) VALUE (1,2,'Bob','Carol') You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'sql' at line 1

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

另一个没有table的问题是我的交易table只有一行但是当我尝试select时我得到0个结果。可能有联系吗?

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

-->

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

另外,养成翻转 if 的习惯——一些函数 return 要么 FALSE 要么有用。也就是说,他们可能永远不会 return TRUE。即:

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