PHP选择/搜索问题
因此,我正在构建一个搜索站点,其中有一个PHP/mySQL搜索和一个javascript“显示每页结果数”HTML选择,该选择随用户所需的每页结果数一起提交,然后刷新搜索页面。不幸的是,当我加载页面时,我得到了三个错误。使用PHP选择/搜索问题,php,mysql,Php,Mysql,因此,我正在构建一个搜索站点,其中有一个PHP/mySQL搜索和一个javascript“显示每页结果数”HTML选择,该选择随用户所需的每页结果数一起提交,然后刷新搜索页面。不幸的是,当我加载页面时,我得到了三个错误。使用if(isset($\u POST['select']){$total\u pages==$\u POST['select'];}只要设置为$total\u pages=12就可以了 注意:您的SQL语法中有一个错误;检查手册 对应于您的MySQL服务器版本,以便使用正确的
if(isset($\u POST['select']){$total\u pages==$\u POST['select'];}
只要设置为$total\u pages=12
就可以了
- 注意:您的SQL语法中有一个错误;检查手册 对应于您的MySQL服务器版本,以便使用正确的语法 第36行的/Users/Me/Sites/mySite/search.php中第1行的“”附近
- 警告:mysql_num_rows()希望参数1是第37行/Users/Me/Sites/mySite/search.php中给定的资源布尔值
- 警告:在第104行的/Users/Me/Sites/mySite/search.php中被零除
<?php
$q = mysql_real_escape_string(ucfirst(trim($_REQUEST['searchquery'])));
if (isset($q)){
if (isset($_GET['page'])) $page = $_GET['page']; else $page = 1;
if (isset($_POST['select'])){ $total_pages == $_POST['select'];} //Here edit the amount per page
$record_start = ($page * $total_pages) - $total_pages;
REQUIRE('config.php');
$result = mysql_query("SELECT * FROM companies WHERE company_name LIKE '%$q%' OR company_description LIKE '%$q%' OR cat1 LIKE '%$q' OR cat2 LIKE '%$q' OR cat3 LIKE '%$q' OR company_phone LIKE '%$q' ORDER by company_name LIMIT $record_start,$total_pages") or trigger_error(mysql_error());
$rows = mysql_num_rows($result);
$total_results = mysql_result(mysql_query("SELECT COUNT(*) as Num FROM companies"),0);
echo "
<h4>Search for "$q"</h4>
<div class='right'>
<div class='textad1'>
<center>
<form name='form1' method='post'>
Results per Page:
<select name='select' onChange='document.form1.submit()'>
<option value='10'";if($_REQUEST['select'] == 12) {echo "selected='selected'";} echo">12</option>
<option value='15'";if($_REQUEST['select'] == 18) {echo "selected='selected'";} echo">18</option>
<option value='25'";if($_REQUEST['select'] == 32) {echo "selected='selected'";} echo">32</option>
</select>
</form>
</center>
</div>
<div class='divider'></div>
</div>
<div class='left'>
<ul>";
while($row = mysql_fetch_array($result))
我认为您的代码应该是这样的
require('config.php');
$q = mysql_real_escape_string(ucfirst(trim($_REQUEST['searchquery'])));
if (isset($q)){
if (isset($_GET['page'])) $page = $_GET['page']; else $page = 1;
if (isset($_POST['select'])){ $total_pages = $_POST['select'];} //Here edit the amount per page
$record_start = ($page * $total_pages) - $total_pages;
$result = mysql_query("SELECT * FROM companies WHERE company_name LIKE '%$q%' OR company_description LIKE '%$q%' OR cat1 LIKE '%$q' OR cat2 LIKE '%$q' OR cat3 LIKE '%$q' OR company_phone LIKE '%$q' ORDER by company_name LIMIT $record_start,$total_pages") or trigger_error(mysql_error());
$rows = mysql_num_rows($result);
$total_results = mysql_result(mysql_query("SELECT COUNT(*) as Num FROM companies"),0);
//code continuation
在执行查询之前是否连接到数据库?如果不是,那就是你的mysql错误问题了。那么你已经写了100行代码,甚至没有尝试在这个过程中运行它?您不能一次写100行而不出错—您可以执行较小的步骤,并检查代码在每行之后是否按预期运行added@Vulcan在此之前我有一个db connect,我只是没有发布,还有一个我定义$q的地方。。。如果你认为有帮助的话,我可以发布?@这肯定会很有用,因为你的mysql查询是一个错误点,它使用了$q多次。@the:\performvar\u dump($total\u pages)代码>和提示:=
和=
是不同的运算符