Php 更新语句出现语法错误
我不知道这个语法的错误在哪里Php 更新语句出现语法错误,php,mysql,Php,Mysql,我不知道这个语法的错误在哪里 $sql = "UPDATE $table SET question='$question', answer='$answer', name='$nwbad' WHERE id='$id'"; 我不工作,在我把它打印出来之后 157555月月月日日方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方
$sql = "UPDATE $table SET question='$question', answer='$answer', name='$nwbad' WHERE id='$id'";
我不工作,在我把它打印出来之后
157555月月月日日方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方未添加name='Function,更新人:WHERE id='1'或
这是什么?!
它有时会告诉我“WHERE id='1'”处的错误似乎来自这一行
'Function Wasn't Added
使用
mysqli\u real\u escape\u string
或prepared stations
避免此错误。从数据库中获取数据后,在php端尝试此操作
$your_string=“未添加函数。”
echo str_replace(“'”,“,$your_字符串)
注意:它将删除所有单引号
您可以使用mysql\u real\u escape\u string在将字符串添加到SQL查询之前,您需要对其进行转义:
UPDATE social
SET question='اختار الله شبه الجزيره العربيه مهدا الرساله الاسلام',
answer='لتكون بعيد عن الصراعات',
name='Function Wasn''t Added , Updated by: احمد نزار'
WHERE id='1'
假设updated by是字符串的一部分,而不是数据库中的一列,那么这应该是可行的
请参见:它从数据库中恢复,并与其他数据混合
,而($row=mysqli_fetch_assoc($TheName)){$arr=array($row['name'],“,”,“,”更新人:“,$name);$nwbad=join(“,$arr);}
row['name']=函数未添加参数值仅用单引号封装,数据“函数未添加”只有一个引号,因此破坏了sql。正如@Harshit所指出的,使用prepared statements/PDO来避免这些问题,除此之外,删除单引号不是解决方案,而是用引号保存。然后使用这个函数mysql\u real\u escape\u string