douluozhan4370 2014-08-09 00:20
浏览 38
已采纳

在整个表格行中搜索五位数字?

To put it simply, I'm trying to search an entire row for a 5 digit number that is parsed in via the URL.

This is the code I have so far:

$code = $_GET['code'];
$connect = mysqli_connect("localhost", "root", "", "test") or die("Could not connect to    database!");

$query = mysqli_query($connect, "SELECT * FROM codes");

while($row = mysqli_fetch_array($query))
{
    if($code == $row['code'])
    {
        echo "Code valid";
        break;
    }
    else
    {
        echo "Invalid code";
        break;
    }
}

This code partly works, but only outputs "Code valid!" when the first value from the database (12345) is parsed in.

I've seen the mysql LIKE clause mentioned a few times here, but I haven't been able to get it to work so far. I'm still pretty amateur, so apologies if I'm completely missing something.

  • 写回答

2条回答 默认 最新

  • duanke3985 2014-08-09 00:27
    关注

    To get this to work with like you would use something close to below. The % is used as a wildcard to match anything on either side of the query.

    SELECT * FROM codes WHERE code LIKE '%12345%'
    

    Or from your code

    $query = mysqli_query($connect, "SELECT * FROM codes WHERE code LIKE '%" . $code . "'");
    

    But direct input into your sql without sanitation is bad practice. Below is a better option, but using PDO would be the best.

    $query = mysqli_query($connect, "SELECT * FROM codes WHERE code LIKE '%" . mysqli_real_escape_string($code) . "'");
    

    To check if code is valid you would change your while statement to the following

    if(mysqli_num_rows($query) > 0) {
        echo "Code Valid";
    
        while($row = mysqli_fetch_array($query)) {
            /* Output of codes if wanted */
        }
    } else {
        echo "Invalid code";
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来