2012-09-18 88 views
-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給出空的結果

mysql result

它我的數據庫和連接完成。

給出這個結果;

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

爲什麼給 「查詢爲空」 的錯誤?我有查詢,需要給結果。 (對不起,我英文不好)

+0

爲什麼你寫'mysql_query' 2次? – diEcho

+0

只是我測試代碼。 – Ryliatron

回答

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變量未設置結果爲查詢爲空

+0

謝謝它的工作正常。 – Ryliatron

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擴展名。

+0

再次查詢是空的。 – Ryliatron

+0

然後檢查您的連接。 – diEcho

+0

@FurkanKadıoğlu嘗試我更新的查詢 –

0

我要說嘗試刪除(RO至少評論)這條線:

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

它使用了未聲明的變量$sql$baglanti