我在我的网络服务器上编写了一个php脚本,用于在表 table3 中插入值。用于获取值的变量是用户名和图像。 用户名包含varchar类型数据,图片包含文本类型数据。我需要将它插入到我的表 table3 中。 table3 有两列用户名和图片名称,其中 varchar 类型和文字分别输入。
当我尝试通过输入值运行上述脚本时,错误显示如下:
错误:您的SQL语法出错;检查与您的MySQL服务器版本相对应的手册,以便在#1;'附近使用正确的语法。在第1行。
我不明白错误是什么,我知道这个错误就在这里。有人可以帮我清除错误。我是php的新手,对php不太了解。所以需要任何人的帮助......请帮助我。我的php脚本如下所示:
<?php
$con=mysqli_connect("localhost","username","password","db_name");
if (mysqli_connect_errno($con))
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$username = $_POST['username'];
$image = $_POST['image'];
$result = mysqli_query($con,"INSERT INTO table3 (username,imagename) VALUES ('$username','$image')");
if (!mysqli_query($con,$result))
{
die('Error: ' . mysqli_error($con));
}
else
echo "1 record added";
mysqli_close($con);
?>
答案 0 :(得分:2)
1)**您的SQL语法有错误; **表示您的查询中有错误。您的查询似乎没问题,但该错误可能来自您的帖子数据。你需要mysqli_real_escape_string来发布数据。
2)你执行了两次查询。
尝试这样:
$username = mysqli_real_escape_string($con, $_POST['username']);
$image = mysqli_real_escape_string($con,$_POST['image']);
$result = mysqli_query($con,"INSERT INTO table3 (username,imagename) VALUES ('$username','$image')");
if (!$result)
{
die('Error: ' . mysqli_error($con));
}
else
echo "1 record added";
mysqli_close($con);
答案 1 :(得分:1)
您应该写一些类似
的内容$result = mysqli_query($con,"INSERT INTO table3 (username,imagename) VALUES ('$username','$image')");
if (!$result)
{
die('Error: ' . mysqli_error($con));
}
答案 2 :(得分:0)
条件应该是
if (!$result)
{
die('Error: ' . mysqli_error());
}
答案 3 :(得分:0)
您的SQL请求(INSERT)将在第9行发送,结果将记录在$result
中。
$result
包含受上一个请求影响的行数(1)。
然后再次使用值$result
作为SQL请求调用mysqli_query方法:“1”不是有效的SQL请求。