Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 无法更新MySQL数据库,sql部分出错_Php_Mysql_Sql - Fatal编程技术网

Php 无法更新MySQL数据库,sql部分出错

Php 无法更新MySQL数据库,sql部分出错,php,mysql,sql,Php,Mysql,Sql,我试图更新MySQL数据库中的一个表,但无法更新数据 $id的值为2,$status为空。 echo $id; echo $status; $sql="UPDATE maklumat_tempahan SET status = '$status', WHERE id_tempahan = '$id' "; mysql_select_db('psmbaru'); $retval = mysql_query( $sql, $conn ); ?> <?php if(

我试图更新MySQL数据库中的一个表,但无法更新数据

$id的值为2,$status为空。
echo $id;

echo $status;

$sql="UPDATE maklumat_tempahan

SET

status = '$status',

WHERE id_tempahan = '$id' "; 

mysql_select_db('psmbaru');
$retval = mysql_query( $sql, $conn );
?>

 <?php    if(! $retval )
{
  die('Could not update data: ' . mysql_error());
}
echo "Permohonan Anda Dalam Proses\n";
mysql_close($conn);}?>
echo$id;
echo$状态;
$sql=“更新maklumat\u tempahan
设置
状态=“$status”,
其中id_tempahan=“$id”;
mysql_select_db('psmbaru');
$retval=mysql\u查询($sql,$conn);
?>
这就是出现的错误
无法更新数据:您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,以了解在第7行的“WHERE id_tempahan='2”附近使用的正确语法

$sql="UPDATE maklumat_tempahan

SET

status = '$status'

WHERE id_tempahan = '$id' ";

是,删除=>status='$status'
您确定不为您的输入兄弟添加mysql\u real\u escape\u string()吗?

$status
之后删除
。我预见到一些用户试图在这里获得一些简单的代表。删除您正在使用且应该使用的“$status”后面的逗号。您可能还容易受到现代API的攻击,因为它会使您更容易使用。@asprin-我发现最好的防御方法是创建一个社区wiki答案,而不是评论。@Quentin这主意不错。之前没有想到过,这里有SQLi攻击。我的辩护理由在哪里?@KarelG-没有实际证据表明,
$status
$id
在问题中的代码开始之前没有被清除,如果没有,那么这个答案就不会引入OP代码设计中不固有的漏洞。