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