Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.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
如何在sql查询中插入php变量?我的问题有错吗?_Php_Mysql_Sql_Variables - Fatal编程技术网

如何在sql查询中插入php变量?我的问题有错吗?

如何在sql查询中插入php变量?我的问题有错吗?,php,mysql,sql,variables,Php,Mysql,Sql,Variables,我编写了这个简单的代码来从sql表中删除博客。但这是一个错误 Could not delete data: Unknown column '$qid' in 'where clause' 我不明白为什么$qid是变量,而justqid是列名,它给了我这个错误 <?php $dbhost = 'localhost'; $dbuser = 'root'; $dbpass = ''; $conn = mysql_connect($dbhost, $dbuser, $dbpass); mysql

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

Could not delete data: Unknown column '$qid' in 'where clause'
我不明白为什么
$qid
是变量,而just
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=“从`blog\u post`中删除,其中`qid`=$qid”//您应该在sql中用单引号括起您的输入:

 $sql="DELETE FROM `blog_post` WHERE `qid` = '$qid'";

首先,您需要确保表中有一个列名qid

然后尝试:

$sql='DELETE FROM blog_post WHERE qid ='.$qid;

Thanx很多。现在正在工作。从来都不知道这很重要。似乎我总是使用双引号,第一次使用单引号,结果发生了:P@user3481478,很高兴它能工作,但请参阅免责声明。您需要切换到新的数据库API。当前,您使用的是一个不推荐使用的API。只需尝试使用$sql='DELETE FROM blog_post WHERE qid=“.$qid.”;
$sql='DELETE FROM blog_post WHERE qid ='.$qid;