• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

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

php 搞代码 3年前 (2022-01-23) 32次浏览 已收录 0个评论

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

PHP code

<!---ecms Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->catalog search<body><h1>catalog search</h1>choose search type:<br />authortitleisbn<br />enter search term:<br /><br />
PHP code

<!---ecms Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><body><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_<span style="color:transparent">本文来源gaodai#ma#com搞*!代#%^码$网!</span><strong>搞代gaodaima码</strong>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>";}?>

输出结果:

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。。。。你自己想想结果一样吗?


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:为什么连接了mysql却查询不了,该怎么处理
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址