当前位置: 首页 > 知识库问答 >
问题:

正在尝试根据所选选项提取数据库表

戴浩初
2023-03-14

我是编程新手。我正在制作一个在线有奖债券钱包系统,我使用选择选项选择债券,然后在数据库中搜索。

我得到这个错误:

注意:未定义的变量:第37行C:\xampp\htdocs\PBWS\searchi.php中的sql

警告:mysqli_query():第37行C:\xampp\htdocs\PBWS\searchi.php中的空查询

警告:mysqli_fetch_array()希望参数1是mysqli_结果,布尔值在第39行的C:\xampp\htdocs\PBWS\searchi.php中给出

<?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";
}

共有2个答案

白学
2023-03-14

你的if或else if语句都不是真的!因此,从未定义过$sql

找出原因<代码>变量转储($\u GET) 然后看看你得到了什么!

楚洋
2023-03-14

您应该尝试添加以下行:

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

由于else if块的线程后跟noelse块以处理它们都未执行的情况,因此当您尝试执行查询时,脚本接收到的$\u GET['value']的值不正确或根本没有值将导致$sql不存在,这可以解释你所犯的两个错误。

 类似资料:
  • 我正在编写一个android聊天应用程序,并试图使用自定义FirebaceRecyclerAdapter在RecyRCleView中使用Firebase数据库实现无休止的滚动。对于第一个消息加载,我使用对数据排序的查询从Firebase数据库获取数据。orderByChild()和。limitToFirst(specificCount)到目前为止还不错。但当用户滚动到最后一个可见项时,我必须获取消

  • 我是Java编程的新手。 现在,我面临的问题是,我想要更改共享的首选项,并且想要使用SQLite数据库来存储这些数据。我已经创建了一个表来存储这些数据,名称为Register table,但我不知道如何更改。 我该怎么办?有人能帮我吗???? 这是我的代码:

  • 我试图根据选项值返回值。我的目标是返回。right()如果选项不存在,则代码应返回其中一个。左()。我使用Java 8和vavr 0.9.2 我想避免条件叠加 编译器失败并显示此消息

  • 我在mysql数据库中有名为的表,其中存在类、学生姓名等。 我想在jsp中使用select选项,这样当且仅当首先选择class时,在选择class之后,该特定类的所有学生姓名都应该通过从数据库中检索记录自动(动态)显示在另一个select下拉列表中。 在这里我想使用servlet进行数据库连接,并通过通过jsp访问所有数据库记录

  • 问题内容: 我有一个数据库,该数据库具有点的纬度/经度。如果我要选择以特定点为中心的特定范围内的所有点,那么如果该点上有任何点,则可以正常工作,但是不会被选中! 我使用以下查询: 在半径大于2的情况下,地图的中心位于[-27.5796498,-27.5796498]。如果某个点位于此非常精确的中心,则此查询的效果很好,但不会被选中。为什么? 编辑:我发现上面的公式为所有点但返回到位于中心MYSQL

  • 命令用于选择数据库,如果想在一个数据库上工作,比如:创建表,查询表,更新,创建存储过程等等,那么首先需要选择一个目标数据库。 示例 假设在MariaDB数据库服务器中,存在有多个数据库,我们必须选择一个特定的数据库。 例如,在下图中显示了多个数据库: 这里我们将使用数据库来创建表等。所以需要使用以下命令。 在执行上面查询语句后,就已经选择数据库。之后就可以在里面创建表等数据对象了。执行上面查询语句