首页 > 解决方案 > 我的简单搜索引擎有问题

问题描述

我的搜索引擎出现问题...我按照在线教程进行操作,但我没有从我的数据库中打印任何内容 - 是的,我已经检查过我是否已连接到数据库。你能帮我吗?:)

  <?php  
 session_start();  
$connect = mysqli_connect("localhost", "root", '', "test"); 
$connect = new mysqli("localhost", "root", "", "test");
$connect->set_charset("utf8");


if(isset($_GET['name'])) {

    $name = $test->escape_string($_GET['name']);

    $query = $test->query("
    SELECT name, price
    FROM tbl_product
    WHERE name LIKE '%[$name]%'
    OR price LIKE '%{$name}%'
    ")
        ?>

<div class="result-count">
    Fandt <?php echo $query->num_rows; ?> resultater.
</div>

<?php 

    if($query->num_rows) {
        while ($r = $query->fetch_object()) {
        ?>

        <div class="result">
            <a href="#"><?php echo $r->name; ?></a>
        </div>

<?php
        }
    }    
}

我的数据库如下所示:

在此处输入图像描述

标签: phpmysql

解决方案


您将 $connect 实例化为 OOP 和 mysqli。此外,管理连接的变量是 $connect,但是您使用的是未定义的变量 $test。查询也有一些奇怪的东西..需要[]吗?我认为您正在寻找类似的东西:

<?php

session_start();  
$connect = new mysqli("localhost", "root", '', "test"); 

$connect->set_charset("utf8");

if(isset($_GET['name'])) {
$name = $connect->escape_string($_GET['name']);

$query="
SELECT name, price
FROM tbl_product
WHERE name LIKE '%{$name}%'
OR price LIKE '%{$name}%'";

$results = $connect->query($query);
     ?>

<div class="result-count">
    Fandt <?php echo $results->num_rows; ?> resultater.
</div>

<?php 

if($results->num_rows) {
    while ($r = $results->fetch_object()) {
    ?>

    <div class="result">
        <a href="#"><?php echo $r->name; ?></a>
    </div>

<?php
        }
    }    
}

推荐阅读