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)
代码如下:
$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)