2017-08-24 67 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);,看看你得到什么!

相关问题