我找遍了所有地方,找不到任何有用的东西。我正在尝试创建一个在线绵羊游戏,要开始玩这个游戏,用户需要选择他们第一只绵羊的颜色和名字。提交后,它成功地将数据插入我的MySQL数据库,但显示此错误:
Error: 1 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 '1' at line 1
这是我连接到数据库的语法:
<?php
$conn = mysqli_connect("localhost","root","","flyingfeetranch");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
?>
这是我的表格以及我用来插入的内容:
<form name="properties" method="POST">
<input type="radio" name="color" value="white" selected="selected">White<br>
Name: <input type="text" name="name" value=" "/>
<input type="submit" name="submitname" value="Submit"/>
</form>
</div>
<?php
if(isset($_POST['submitname']))
{
$Color = $_POST['color'];
$Name = $_POST['name'];
$Age = "12";
$sql = mysqli_query($conn, "INSERT INTO babydolls (name, color, age)VALUES ('$Name', '$Color', '$Age')");
if($conn->query($sql) === TRUE)
{
echo "New record created successfully";
}
else
{
echo "Error: " . $sql . "<br>" . $conn->error;
}
}
?>
最佳答案
“1”源于两次查询,这意味着它有效。如果它是“0”,那将是另一回事。
删除其中一个查询函数。
只需检查它的变量即可。
$sql = mysqli_query($conn, "INSERT INTO babydolls (name, color, age)VALUES ('$Name', '$Color', '$Age')");
if($sql)
{
echo "New record created successfully";
}
请注意,您可能会在此处进行 sql 注入(inject),请使用准备好的语句。
注意:您还应该检查是否有空字段,并检查是否设置了 radio ,如果您碰巧从中删除了“已选择”(这里的旁注)。如果没有填写这些字段并且您的数据库不接受空/空值,这可能会给您带来问题。
引用资料:
关于php - 无法弄清楚这个错误试图告诉我什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48815406/