2017-08-24 66 views
1

我是編程中的新手。我正在做一個在線獎債券錢包系統,我用選擇選項來選擇債券,然後在數據庫中搜索。試圖根據選定的選項獲取數據庫表

我收到此錯誤:

Notice: Undefined variable: sql in C:\xampp\htdocs\PBWS\searchi.php on line 37

Warning: mysqli_query(): Empty query in C:\xampp\htdocs\PBWS\searchi.php on line 37

Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in C:\xampp\htdocs\PBWS\searchi.php on line 39

<?php 

include_once('database.php'); 

    if(isset($_GET['file_name'])) 
    $name = $_GET['file_name']; 
    if ($_GET['value'] == 'bond_100'){ 

    $sql = "SELECT * FROM `bond_100` WHERE `file_name` = $name "; 
} 

    elseif ($_GET['value'] == 'bond_200'){ 

    $sql = "SELECT * FROM `bond_200` WHERE `file_name` = $name"; 
} 

    elseif ($_GET['value'] == 'bond_1500'){ 

    $sql = "SELECT * FROM `bond_1500` WHERE `file_name` = $name "; 
} 
    elseif ($_GET['value'] == 'bond_15000'){ 

    $sql = "SELECT * FROM `bond_15000` WHERE `file_name` = $name "; 
} 
    elseif ($_GET['value'] == 'bond_750'){ 

    $sql = "SELECT * FROM `bond_750` WHERE `file_name` = $name "; 
} 
    elseif ($_GET['value'] == 'bond_7500'){ 

    $sql = "SELECT * FROM `bond_7500` WHERE `file_name` = $name "; 
} 
    elseif ($_GET['value'] == 'bond_40000'){ 

    $sql = "SELECT * FROM `bond_40000` WHERE `file_name` = $name "; 

} $result = mysqli_query($conn,$sql); 

    $row = mysqli_fetch_array($result); 

    if($row>0){ 
     echo $row["file_name"]; 
    } else{ 
     echo "nothing found"; 
} 
+0

iainn - 不,他沒有。 from php.net - mixed'mysqli_query(mysqli $ link,string $ query [,int $ resultmode = MYSQLI_STORE_RESULT])' – delboy1978uk

回答

0

你應該嘗試添加這些行:

echo 'Value : ', $_GET['value']; 
die(); 

由於您的else if塊線之後沒有else塊來處理其中執行沒有人的情況下,你的腳本接收$_GET['value']不正確的值或者根本沒有值會導致$sql在您嘗試執行您的查詢時不存在,這將解釋您獲得的錯誤。

0

關你如果還是else if語句是永遠正確!因此$ sql永遠不會被定義!

找出原因! var_dump($_GET);,看看你得到什麼!

相關問題