无法从mysql获取数据

yh2wf1be  于 2021-06-20  发布在  Mysql
关注(0)|答案(4)|浏览(532)

我已连接到phpmyadmin,但无法从phpmyadmin获取任何数据。我的php版本是7.2.9,我在数据库中做了我想要的一切,但是php不能在站点中显示数据(我使用localhost)。代码如下:

<?php
    $key = $_GET['key'];

    $terms = explode(" ", $key);
    $query = "SELECT * FORM search WHERE ";

    foreach ($terms as $each){
        $i++;
        if($i == 1){
            $query .= "keywords LIKE '%$each%' ";
        } else{
            $query .= "OR keywords LIKE '%$each%' ";
        }
        echo $query;
    }

    //connection
mysql_connect("localhost", "root", "");
mysql_select_db('search');
    $query = mysqli_query($query);
    $numrows = mysqli_num_rows($query);

    if($numrows > 0){
        while ($row = mysql_fetch_assoc($query)){
        $id = $row['id'];
        $title = $row['title'];
        $description = $row['description'];
        $keywords = $row['keywords'];
        $link = $row['link'];
        echo "<h2><a href='$link'>$title</h2></a>
        $description<br /><br />";
        }
        }
        else{ 
        echo "No results found for \"<b>$key</b>\""; }

    //disconnect
    mysql_close();

?>
fjaof16o

fjaof16o1#

首先,mysql\u connect()在php5之后不再可用。使用mysqli\u connect()代替mysql。请在这里介绍如何使用php7连接和查询数据库。https://www.w3schools.com/php/func_mysqli_fetch_row.asp
如果你还有问题。在评论中寻求帮助。

<?php

    $query = "SELECT * FORM search WHERE ";

    foreach ($terms as $each){
        $i++;
        if($i == 1){
            $query .= "keywords LIKE '%$each%' ";
        } else{
            $query .= "OR keywords LIKE '%$each%' ";
        }
        echo $query;
    }

    //connection
    $conn = mysqli_connect("localhost", "root", "","search");
    if(!$conn)die("Connection Error");
    $query = mysqli_query($conn,$query);
    if(!query)die("query error");
    $numrows = mysqli_num_rows($query);
    if($numrows > 0){
        while ($row = mysqli_fetch_assoc($query)){
        $id = $row['id'];
        $title = $row['title'];
        $description = $row['description'];
        $keywords = $row['keywords'];
        $link = $row['link'];
        echo "<h2><a href='$link'>$title</h2></a>
        $description<br /><br />";
        }
        }
        else{ 
        echo "No results found for \"<b>$key</b>\""; 
        }
dgiusagp

dgiusagp2#

下面是在我结束时测试的完整工作示例(昨晚我不在我的工作机器上,无法测试代码。后来我创建了一个小db并测试了它。在我的示例中,我用伪键“ram mary albert”进行了搜索

<?php
        $key = $_GET['key'];

        $terms = explode(" ", $key);

        $qu1 = "SELECT * FROM search WHERE ";
        $qu2 = "order  by id ASC";

        $conn=mysqli_connect("localhost", "root", "");

        mysqli_select_db($conn, 'search');

        for($i=0; $i< count($terms);  $i++){

          $query = $qu1 . " keywords LIKE '%$terms[$i]%'  "  .  $qu2;

          echo( $query . "<br>" );

          $resulter= mysqli_query($conn, $query);

          while($row = mysqli_fetch_array($resulter)){;

                $id = $row['id'];
                $title = $row['title'];
                $description = $row['description'];
                $keywords = $row['keywords'];
                $link = $row['link'];    

                $EscLink='\'' . $link . '\'';

                echo ('<a href="javascript:void(0)" onClick="alert(' . 
                $EscLink . ')">' . $title .  '</a><br>' .  $description . 
                '<br /><br />');

           } // Close While
         } // Close for

         //disconnect
         mysqli_close($conn);

         ?>

9lowa7mx

9lowa7mx3#

在php/html中有几个错误。我在这里总结一下,让你看看: <h2><a href='$link'>$title</h2></a>$description<br /><br /> 这是错误的html。关上你的门 a 标签在 h2 .
您正在通过连接到数据库 mysql ,但通过 mysqli . 连接到数据库 mysqli . Mysql_ PHP7中的函数族已被删除
您的查询中有一个输入错误。你已经写好了 FORM 而不是 FROM .
你要爆炸了 $_GET 空间上的变量。但我怀疑 $_GET 变量有任何空格开头。。。检查这是不是真的。

5cnsuln7

5cnsuln74#

你把mysqli和mysql搞混了。我编辑了你的东西。请试一试。别忘了把标有[缺失]的那部分修好

<?php
       $key = $_GET['key'];

       $terms = explode(" ", $key);

      foreach ($terms as $each){
        $i++;
        if($i == 1){  
           $query .= "keywords LIKE '%$each%' ";
       } else{
          $query .= " description OR keywords LIKE '%$each%' ";
       }
         echo $query;
        }

      //connection
        $conn=mysqli_connect("localhost", "root", "");
        mysqli_select_db($conn, 'search');
       if($result= mysqli_query($conn, $query)){
          $numrows = mysqli_num_rows($result);
       }

        if($numrows > 0){

            while($row = mysqli_fetch_array($result)){
                $id = $row['id'];
                $title = $row['title'];
                $description = $row['description'];
                $keywords = $row['keywords'];
                $link = $row['link'];    
                //echo "<h2><a href='$link'>$title</h2></a>
                //$description<br /><br />";
                echo '<h2><a href="' . $link . '">' . $title . 
                '</h2></a>' .  $description . '<br /><br />';
              }
            }
             else{ 
              echo "No results found for \"<b>$key</b>\""; }

           //disconnect
            mysqli_close();

           ?>

相关问题