-1
  <?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结果

它是我的数据库和连接完成。

给出这个结果;

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

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

4

3 回答 3

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扩展。

于 2012-09-18T06:52:13.607 回答
1
  1. 不推荐使用 mysql_* 函数

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

  3. 试试这个 :

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

但是,您也可以使用 mysql_real_escape_string

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

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

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

于 2012-09-18T06:56:35.547 回答
0

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

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

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

于 2012-09-18T06:56:31.363 回答