Maison > développement back-end > tutoriel php > 为什么连接了mysql却查询不了,该怎么处理

为什么连接了mysql却查询不了,该怎么处理

WBOY
Libérer: 2016-06-13 13:44:34
original
1367 Les gens l'ont consulté

为什么连接了mysql却查询不了
表单页代码:

PHP code
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
catalog search

<h1>catalog search</h1>
Copier après la connexion
choose search type:

enter search term:



PHP code
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->

<h1>search results</h1>
<?php $searchtype=$_POST['searchtype'];
$searchterm=trim($_POST['searchterm']);
if(!$searchtype||!$searchterm){
    echo"请输入值";
        exit;

}
if(!get_magic_quotes_gpc())
{
    $searchtype=addslashes($searchtype);
    $searchterm=addslashes($searchterm);
}
@ $db=new mysqli('localhost','root','root','books');
if (mysqli_connect_errno()) 
{
echo 'Error: Could not connect to database. Please try again later.';
exit;
}

$query="select * from books where".$searchtype."like '%".$searchterm."%'";
$result=$db->query($query);
$num_results=$result->num_rows;
echo "<p>Number of books found:".$num_results."</p>";
for ($i=0;$ifetch_assoc();
    echo"<p><strong>".($i+1)."title:";
    echo htmlspecialchars(stripslashes($row['title']));
    echo "</strong><br>author:";
    echo stripslashes($row['author']);
    echo"<br>isbn:";
    echo stripslashes($row['isbn']);
    echo"<br>price:";
    echo stripslashes($row['price']);
    echo"</p>";
}
?>


Copier après la connexion


输出结果:

search results
Number of books found:

为什么查询不出结果

------解决方案--------------------
你没有在执行查询后进行检错,应补上
1、确认 $searchtype 是正确的字段名
2、$query="select * from books where".$searchtype."like '%".$searchterm."%'";
中 like 前少了个空格
写成这样是不是清爽些?
$query = "select * from books where $searchtype like '%$searchterm%'";


------解决方案--------------------
$query="select * from books where".$searchtype."like '%".$searchterm."%'";
echo $query;就知道是否等价了。 红字部分连在一起了还对吗?
------解决方案--------------------
$query="select * from books where".$searchtype."like '%".$searchterm."%'";
$query = "select * from books where $searchtype like '%$searchterm%'";
这两个sql是有区别的。
""里面的都是字符串,然后你没有空格直接写.$searchtype。。。。你自己想想结果一样吗?
Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal