Php 警告:mysql_num_rows()希望参数1是第44行中给出的资源布尔值

Php 警告:mysql_num_rows()希望参数1是第44行中给出的资源布尔值,php,Php,HTML代码的搜索引擎,我相信是正确的 搜索 我的搜索引擎 PHP代码从这里开始,我认为错误来自这里 if(!$按钮) echo“您没有提交关键字”;其他的 { if(strlen($search) 继续获取:警告:mysql_num_rows()希望参数1是资源,布尔值在中给出,这可能是因为SQL请求失败。请尝试在函数已被弃用,因此我建议您切换到或,您确实有sql注入的风险可能查询中有错误。请尝试以下操作: $run = mysql_query($construct); if (!$run

HTML代码的搜索引擎,我相信是正确的 搜索 我的搜索引擎 PHP代码从这里开始,我认为错误来自这里
if(!$按钮)
echo“您没有提交关键字”;其他的
{
if(strlen($search)

继续获取:警告:mysql_num_rows()希望参数1是资源,布尔值在

中给出,这可能是因为SQL请求失败。请尝试在
旁边追加
或死亡(mysql_error())
,如下所示:

$run = mysql_query($construct) or die(mysql_error());

这将输出错误,以便您可以修复它。

我认为这只是查询中的一个空间问题,请尝试添加如下空格

$construct .=" AND keywords LIKE '%$search_each%'";
还要注意,
关键字
应该是要查找的表列的名称


我还想提醒您,
mysql\uucode>函数已被弃用,因此我建议您切换到或,您确实有sql注入的风险

可能查询中有错误。请尝试以下操作:

$run = mysql_query($construct);
if (!$run)
  echo 'an error occurred: '.mysql_error();
else {
  $foundnum = mysql_num_rows($run);
  if ($foundnum==0)
  echo "Sorry, there are no matching result for <b>$search</b>.
  </br></br>1. Try more general words.";
else {
  echo "$foundnum results found !<p>"; 
  while($runrows = mysql_fetch_assoc($run)) {
    $username = $runrows ['username'];
    $email = $runrows ['email']; 
  } 
}
$run=mysql\u查询($construct);
如果(!$run)
echo“发生错误:”.mysql_error();
否则{
$foundnum=mysql\u num\u行($run);
如果($foundnum==0)
echo“抱歉,$search没有匹配的结果。


1.尝试更一般的词语。“; 否则{ echo“$foundnum结果已找到!”; 而($runrows=mysql\u fetch\u assoc($run)){ $username=$runrows['username']; $email=$runrows['email']; } }

此脚本将告诉您问题所在。正如Fabio所写,您可能会看到从预期的空间点开始报告MySQL。(如果您想在网站上使用它,可能需要在本例中添加一些br标记。)

警告您的代码容易受到sql注入攻击!这就是返回的原因:您的sql语法有错误;请查看与您的MySQL服务器版本对应的手册,以了解使用near'和“%Try print your query”等关键字的正确语法。请尝试打印查询以查看其外观。我建议在
$construct\u中更改您的查询ery=“SELECT*FROM members WHERE$construct”echo$construct\u query;$run=mysql\u query($construct\u query);
$run = mysql_query($construct);
if (!$run)
  echo 'an error occurred: '.mysql_error();
else {
  $foundnum = mysql_num_rows($run);
  if ($foundnum==0)
  echo "Sorry, there are no matching result for <b>$search</b>.
  </br></br>1. Try more general words.";
else {
  echo "$foundnum results found !<p>"; 
  while($runrows = mysql_fetch_assoc($run)) {
    $username = $runrows ['username'];
    $email = $runrows ['email']; 
  } 
}