Mysql给出空结果

时间:2012-09-18 06:50:29

标签: php mysql sql phpmyadmin

  <?php  $bolge="MARMARA";
         $sorgu = "SELECT * FROM veriler WHERE bolge=\"$bolge\"";
         $sonuc=mysql_query($sorgu);
         echo $sorgu;
         $sonuc= mysql_query($sql,$baglanti);
         if(!$sonuc)
         die(mysql_error());
         while($satir= mysql_fetch_array($sonuc))
         {
         $id= $satir["id"];
         $sehir= $satir["sehir"];
         $firma= $satir["firma"];
         $adres= $satir["adres"];
         $tel= $satir["tel"];
         $web= $satir["web"];
        ?>

我的代码。

mysql result

我的数据库和连接已完成。

给出这个结果;

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

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

3 个答案:

答案 0 :(得分:2)

尝试用单引号括起值

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

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

while ($satir = mysql_fetch_array($sonuc)) 
{
    $id= $satir["id"];
    // other fields.. 
}

但您的代码容易被SQL Injection攻击。或者,改为使用PDOMySQLi扩展程序。

答案 1 :(得分:1)

  1. 不推荐使用mysql_ *函数

  2. 使用PDO或mysqli代替预备语句

  3. 试试这个:

    $sorgu = "SELECT * FROM veriler WHERE bolge='{$bolge}'";
    
  4. 但是,您也可以使用mysql_real_escape_string

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

    $sonuc=mysql_query($sorgu);  //OK, valid SQL
    echo $sorgu;
    $sonuc= mysql_query($sql,$baglanti); //Bad, empty (undeclared variable)
    

    $ sql变量未设置,导致查询为空

答案 2 :(得分:0)

我会说尝试删除(ro至少评论)这一行:

$sonuc= mysql_query($sql,$baglanti);

它使用未声明的变量$sql$baglanti