Php 给出空结果的Mysql

Php 给出空结果的Mysql,php,mysql,sql,phpmyadmin,Php,Mysql,Sql,Phpmyadmin,为什么给出“查询为空”错误?我有疑问,需要给出结果。(很抱歉英语不好)尝试用单引号将值括起来 SELECT * FROM veriler WHERE bolge="MARMARA"; **Query was empty** 及 但是您的代码在SQL注入时易受攻击。或者,使用PDO或MySQLi扩展来代替。我会说,尝试删除(至少注释)这一行: $sorgu = "SELECT * FROM veriler WHERE bolge='$bolge'"; $sonuc = mysql_query($

为什么给出“查询为空”错误?我有疑问,需要给出结果。(很抱歉英语不好)

尝试用单引号将值括起来

SELECT * FROM veriler WHERE bolge="MARMARA";
**Query was empty**


但是您的代码在
SQL注入时易受攻击。或者,使用
PDO
MySQLi
扩展来代替。

我会说,尝试删除(至少注释)这一行:

$sorgu = "SELECT * FROM veriler WHERE bolge='$bolge'";
$sonuc = mysql_query($sorgu);

while ($satir = mysql_fetch_array($sonuc)) 
{
    $id= $satir["id"];
    // other fields.. 
}
它使用未声明的变量
$sql
$baglanti

  • 不推荐使用mysql_*函数

  • 将PDO或mysqli与准备好的语句一起使用

  • 试试这个:

    $sonuc= mysql_query($sql,$baglanti);
    
  • 但是,您也可以使用mysql\u real\u escape\u字符串

    只是一个问题,这是什么意思:

    $sorgu = "SELECT * FROM veriler WHERE bolge='{$bolge}'";
    

    $sql变量未设置此结果导致查询为空

    为什么要编写
    mysql\u查询
    2次?
    $sonuc= mysql_query($sql,$baglanti);
    
    $sorgu = "SELECT * FROM veriler WHERE bolge='{$bolge}'";
    
    $sonuc=mysql_query($sorgu);  //OK, valid SQL
    echo $sorgu;
    $sonuc= mysql_query($sql,$baglanti); //Bad, empty (undeclared variable)