php – 警告:mysqli_num_rows()期望参数1为mysqli_result,[复制
发布时间:2020-12-13 18:25:58 所属栏目:PHP教程 来源:网络整理
导读:参见英文答案 PHP MySQL: mysqli_num_rows() expects parameter 1 to be mysqli_result,boolean given 2个 挣扎着我的网页设计任务.我一直在按照教程添加我的网站的搜索功能,但我一直收到以下错误: 警告:mysqli_num_rows()要求参数1为mysqli_result,第31行
参见英文答案 >
PHP & MySQL: mysqli_num_rows() expects parameter 1 to be mysqli_result,boolean given 2个
挣扎着我的网页设计任务.我一直在按照教程添加我的网站的搜索功能,但我一直收到以下错误: 警告:mysqli_num_rows()要求参数1为mysqli_result,第31行的/search.php中给出布尔值 第31行是(或是) <pre>if(mysqli_num_rows($results) >= 1)</pre> 那是原来的错误.根据评论中的说明,我已经修改了代码: <pre> <?php //capture search term and remove spaces at its both ends if the is any $searchTerm = trim($_GET['keyword']); //check whether the name parsed is empty if($searchTerm == "") { echo "Enter the name/brand of what you're looking for."; exit(); } //database connection info $host = "localhost"; $db_name = "sookehhh_shopsy_db"; $username = "sookehhh_shopsy"; $password = "xxxx"; //connecting to server and creating link to database $link = mysqli_connect($host,$username,$password,$db_name) or die('Could not connect: ' . mysqli_connect_error()); //MYSQL search statement $query = "SELECT * FROM sookehhh_shopsy_db WHERE name LIKE '%" . mysqli_real_escape_string($link,$searchTerm) . "%'"; // original query$query = "SELECT * FROM sookehhh_shopsy_db WHERE name LIKE '%$searchTerm%'"; $results = mysqli_query($link,$query); //added suggestion below - not sure if correct place? if (!$result) { die(mysqli_error($link)); } /* check whethere there were matching records in the table by counting the number of results returned */ if(mysqli_num_rows($results) >= 1) { $output = ""; while($row = mysqli_fetch_array($results)) { $output .= "Product Name: " . $row['name'] . "<br />"; $output .= "Price: " . $row['price'] . "<br />"; } echo $output; } else echo "There was no matching record for that item " . $searchTerm; ?> </pre> 做了必要的更改并再次更新 – 现在我收到的唯一错误信息是“表’sookehhh_shopsy_db.sookehhh_shopsy_db’不存在” 我假设我需要更改用户名,也许是因为它太相似了? 无论如何,感谢你的帮助到目前为止,我为我的完全无知而道歉. 我一直在努力教自己,但不幸的是,时间是我现在所没有的奢侈品.
问题是您的查询返回false表示您的查询中存在错误.查询后,您可以执行以下操作:
if (!$result) { die(mysqli_error($link)); } 或者您可以将它与您的查询结合使用: $results = mysqli_query($link,$query) or die(mysqli_error($link)); 那会打印出你的错误. 另外……你需要消毒你的输入.您不能只接受用户输入并将其放入查询中.试试这个: $query = "SELECT * FROM shopsy_db WHERE name LIKE '%" . mysqli_real_escape_string($link,$searchTerm) . "%'"; 回复:表’sookehhh_shopsy_db.sookehhh_shopsy_db’不存在 你确定表名是sookehhh_shopsy_db吗?也许它真的像用户或其他东西. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |