【发布时间】:2019-01-11 15:31:08
【问题描述】:
我正在尝试更新mysql中的一行,但是每次都会出现错误1024
@$name= $_POST['name'];
@$bio=$_POST['bio'];
@$email=$_POST['email'];
if(!empty($_POST['name']) && !empty($_POST['bio']) && !empty($_POST['email']) )
{
$result="SELECT * FROM accounts where email='$email'";
$row = mysqli_fetch_array(mysqli_query($con,$result),MYSQLI_ASSOC);
$row['id']=$id;
$Sql_Query = mysqli_query($con,"UPDATE profile SET name= '$name', bio = '$bio' WHERE id = '$id'");
if(mysqli_query($con,$Sql_Query)){
echo 'Record Updated Successfully';
}
else{
echo 'Something went wrong, whether id is not present or something else'.mysqli_error($con);
}
}else
{
echo 'missing parameters';
}
错误
您的 SQL 语法有错误;查看与您的 MariaDB 服务器版本相对应的手册,了解在第 1 行的“1”附近使用的正确语法
任何帮助将不胜感激
【问题讨论】:
-
我们需要知道完整的错误。
-
哦,我知道它是什么,呵呵。这里真的很简单;你执行了两次相同的查询,你很可能得到一个“1”作为错误,对吧?编辑:呵呵,知道了 ;-)
-
了解prepared statements以防止sql注入
-
顺便说一句,您在这里让自己面临严重的 SQL 注入。使用准备好的语句。
-
其实我是用程序化的方法,这个用prepare statment可以吗