【问题标题】:Querying a database via search bar php [duplicate]通过搜索栏php查询数据库[重复]
【发布时间】:2018-08-03 21:44:41
【问题描述】:

我想创建一个搜索栏,Final.php 是用户输入到数据库中的每个事件的显示页面,但我想添加一个搜索栏来查询列表以更快地找到他们想要的结果(事件每个团队的名称和四个分数)。我不明白我哪里出错了,希望有人能帮忙。


<?php
$con = mysqli_connect("localhost", "id5052875_signuplogin", "Meganruby2") or die("cannot connect");
mysqli_select_db($con, "id5052875_signuplogin") or die ("couldnt connect");
$output = '';

    //collect
if (isset($_POST['search'])) {
    $searchq = $_POST['search'];
    $searchq = preg_replace("#[^0-9a-z]#i","",$searchq);
    print("$searchq");
    $query = mysqli_query($con, "SELECT * FROM event WHERE event name LIKE '%$searchq%'") or die("could not search");
    $count = mysqli_num_rows($query);
    echo($searchq);
    if($count == 0 ) {
        $output = 'There was no search';

    }else {
        while($row = mysqli_fetch_array($query)) {
            $event = $row['event name'];
            $num1 = $row['Score1'];
            $num2 = $row['Score2'];
            $num3 = $row['Score3'];
            $num4 = $row['Score4'];


            $output .= '<div> '.$event.' '.$num1.' '.$num2.' '.$num3.' '.$num4.'</div>';

            }

        }



    }
?>    
<form action="Final.php" method="post">
    <input type = "text" name = "search" placeholder = "search for event.."/>
    <input type = "submit" value = "search"/>
</form>

【问题讨论】:

  • 是的,很抱歉,我只是想这样做,只是刚拿到这个网站,所以遇到了困难:)
  • 当前输出是多少?
  • 什么都没有,没有错误但也没有结果,即使使用

标签: php html css mysql


【解决方案1】:

你的第一个条件,改变

if ( isset( $_POST['event'] ) ) {if ( isset( $_POST['search'] ) ) {

$searchq = $_POST['search'];$searchq = $_POST['search'];

搜索文本输入的名称是“搜索”,但由于某种原因,您正在寻找事件。

另外,请不要将用户直接输入并插入到数据库查询中。请注意 SQL 注入。这是一个常见的question,用于检查并了解有关预防它的更多信息。

【讨论】:

  • 我做到了,但现在我的 $query 不起作用,警告:mysqli_query() 至少需要 2 个参数,1 个在 /storage/ssd2/875/5052875/public_html/Final.php 中给出第 23 行无法搜索
  • $output 从未显示,因为 if 条件从未为真,您正在寻找错误的字段。现在您在 if 块中,您的查询需要修复。 mysqli_query 需要两个参数,SQL 连接和查询。您目前只提供查询,请阅读php.net/manual/en/mysqli.query.php
  • 好的,谢谢你!
  • 最大的感谢是代表或回答! @RubyWatts
  • @RubyWatts 对于几乎所有问题,SO 上都有一些可用的解决方案,所以在发布您的问题之前,请尝试用谷歌搜索 :)
猜你喜欢
  • 2013-01-11
  • 2012-07-15
  • 2011-03-09
  • 1970-01-01
  • 2023-04-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多