Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL select在phpMyAdmin中工作,但我的PHP不返回具有相同调用的行_Php_Mysql_Mysql Num Rows - Fatal编程技术网

MySQL select在phpMyAdmin中工作,但我的PHP不返回具有相同调用的行

MySQL select在phpMyAdmin中工作,但我的PHP不返回具有相同调用的行,php,mysql,mysql-num-rows,Php,Mysql,Mysql Num Rows,这是我的密码 <?php session_start(); include('config.php'); if(isset($_GET['search_word'])) { // echo $_GET['search_word'] . '<br />'; // debugging $search_word = $_GET['search_word']; $search_word = mysql_escape_string($search_word);

这是我的密码

<?php
session_start();

include('config.php');
if(isset($_GET['search_word']))
{
    // echo $_GET['search_word'] . '<br />'; // debugging
    $search_word = $_GET['search_word'];
    $search_word = mysql_escape_string($search_word);
    $search_word_fix = str_replace(" ","%",$search_word);

    $query = "SELECT * FROM article WHERE article_title LIKE '%" . $search_word . "%' AND article_live = '1' ORDER BY article_id DESC";
    // echo $query . '<br />'; // debugging

    $sql = mysql_query($query);
    $count = mysql_num_rows($sql);
    // echo $count . '<br />'; // debugging
    // echo mysql_num_rows($sql) . '<br />'; // debugging
    if($count > 0)
    {
        while($row=mysql_fetch_array($sql))
        {
            $msg=$row['article_title'];
            $bold_word='<b>'.$search_word.'</b>';
            $final_msg = str_ireplace($search_word, $bold_word, $msg);

            echo $final_msg; 
        }
    }
    else
    {
        echo "No Results";
    }
}?>


有人能看出它有什么问题吗?我看不出这个剧本有什么不好,我已经盯着它看了一段时间了。它永远不会进入WHILE循环,只有“No Results”,当我取消对调试的注释时,计数返回空白。

计数返回空白意味着您的查询由于某种原因失败

  • 您是否正确连接到数据库?在查询后立即尝试使用mysql_error():

    $error_msg = mysql_error();
    
  • 使用mysql\u real\u escape\u string()而不是mysql\u escape\u string()-它尊重字符集,因此不会出现UTF8问题

如果您公开使用此选项,您可能希望了解如何使用绑定来消除SQL注入的可能性


那么您在脚本中的什么位置连接到数据库?顺便说一句,您应该打开错误报告;将这一行添加到脚本
错误报告(E\u ALL)
的开头,这样您就可以查看是否有问题了。您是对的mysql\u error();指出问题是错误的包含路径,因此无法连接到数据库。谢谢你的指导,我来看看。