gpt4 book ai didi

php - 如何在 sql 查询中插入一个 php 变量?我的查询有误?

转载 作者:可可西里 更新时间:2023-11-01 08:17:03 24 4
gpt4 key购买 nike

我写了这个简单的代码来从 sql 表中删除一个博客。但是它给出了一个错误

Could not delete data: Unknown column '$qid' in 'where clause'

不明白为什么。 $qid 是变量,而 qid 是列名,它给我这个错误。

<?php
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = '';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
mysql_select_db('trial1');
if(! $conn )
{
die('Could not connect: ' . mysql_error());
}
function check_login(){
return 12;
}
$return_array = array();
if( check_login()!=NULL){
$qid =1;
$sql='DELETE FROM blog_post WHERE qid = $qid';
$retval = mysql_query($sql, $conn);
if (!$retval){
die('Could not delete data: ' . mysql_error());
$return_array["success"] = 0; //If deletion unsuccessful
echo json_encode($return_array);
}
else{
$return_array["success"]=1; //If deletion successful
echo json_encode($return_array);
}
}
?>

最佳答案

单引号下的变量不会被解析。将 SQL 查询用双引号 " 括起来。

$sql="DELETE FROM `blog_post` WHERE `qid` = $qid"; //<-- Like this.

此 (mysql_*) 扩展已从 PHP 5.5.0 开始弃用,并将在未来删除。相反,Prepared Statements of MySQLiPDO_MySQL应该使用扩展来抵御 SQL 注入(inject)攻击!

关于php - 如何在 sql 查询中插入一个 php 变量?我的查询有误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23147098/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com