Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从“表”中选择COUNT(`id`),其中merk类似“%$searchq%”_Php_Mysql_Search - Fatal编程技术网

Php 从“表”中选择COUNT(`id`),其中merk类似“%$searchq%”

Php 从“表”中选择COUNT(`id`),其中merk类似“%$searchq%”,php,mysql,search,Php,Mysql,Search,我想计算一下我使用搜索引擎时得到的结果 $searchq = $_GET['search']; $searchq = str_replace(' ','-',$searchq); $con = mysql_connect("localhost","root","****"); if (!$con) { die('Could not connect: ' . mysql_error()); } mysql_select_db("register-log

我想计算一下我使用搜索引擎时得到的结果

     $searchq = $_GET['search'];
     $searchq = str_replace(' ','-',$searchq);     
    $con =  mysql_connect("localhost","root","****");
if (!$con) {
  die('Could not connect: ' . mysql_error());
}

mysql_select_db("register-login", $con);

$result = mysql_query("SELECT COUNT(`car_id`)FROM `adver` WHERE merk LIKE '%$searchq%' OR titel LIKE '%$searchq%' OR model LIKE '%$searchq%'");
$row = mysql_fetch_array($result);
$total = $row[0];



$pages = new Paginator;  
$pages->items_total = $total;
$pages->mid_range = 5;  
$pages->paginate();  
以下是我的html代码:

<form id="header-search" action="car-list.php" method="get">
            <input type="text" name="search"  id="text" placeholder="Zoek hier.."   class="quick-search"  > </form>
     $searchq = $_GET['search'];
     $searchq = str_replace(' ','-',$searchq);     
    $con =  mysql_connect("localhost","root","****");
if (!$con) {
  die('Could not connect: ' . mysql_error());
}

mysql_select_db("register-login", $con);

$result = mysql_query("SELECT COUNT(`car_id`)FROM `adver` WHERE merk LIKE '%$searchq%' OR titel LIKE '%$searchq%' OR model LIKE '%$searchq%'");
$row = mysql_fetch_array($result);
$total = $row[0];



$pages = new Paginator;  
$pages->items_total = $total;
$pages->mid_range = 5;  
$pages->paginate();  
我这样做是为了知道$pages->items\u total=$total;我的页码

     $searchq = $_GET['search'];
     $searchq = str_replace(' ','-',$searchq);     
    $con =  mysql_connect("localhost","root","****");
if (!$con) {
  die('Could not connect: ' . mysql_error());
}

mysql_select_db("register-login", $con);

$result = mysql_query("SELECT COUNT(`car_id`)FROM `adver` WHERE merk LIKE '%$searchq%' OR titel LIKE '%$searchq%' OR model LIKE '%$searchq%'");
$row = mysql_fetch_array($result);
$total = $row[0];



$pages = new Paginator;  
$pages->items_total = $total;
$pages->mid_range = 5;  
$pages->paginate();  
显示结果的代码:

     $searchq = $_GET['search'];
     $searchq = str_replace(' ','-',$searchq);     
    $con =  mysql_connect("localhost","root","****");
if (!$con) {
  die('Could not connect: ' . mysql_error());
}

mysql_select_db("register-login", $con);

$result = mysql_query("SELECT COUNT(`car_id`)FROM `adver` WHERE merk LIKE '%$searchq%' OR titel LIKE '%$searchq%' OR model LIKE '%$searchq%'");
$row = mysql_fetch_array($result);
$total = $row[0];



$pages = new Paginator;  
$pages->items_total = $total;
$pages->mid_range = 5;  
$pages->paginate();  
$searchq = htmlspecialchars($searchq); 
$searchq = mysql_real_escape_string($searchq);                  
$photo=mysql_query("SELECT * FROM `adver` WHERE merk LIKE '%$searchq%' OR titel LIKE '%$searchq%' OR model LIKE '%$searchq%' ORDER BY car_id DESC $pages->limit")or die(mysql_error());

while($get_photo=mysql_fetch_array($photo)){ 


?>


                                        <a href="<?php echo 'car-details.php?merk='.$get_photo['merk'] .'&car_id=' .$get_photo['car_id'] .'&titel=' .$get_photo['titel'] ;?>">
                            <img src="<?php  echo $get_photo['path'] ; ?>" style="border:1px solid #021a40;" alt="<?php  echo $get_photo['merk'] ;?>" }/>
在我搜索数据库中不存在的东西之前,一切都很正常。所以$result=0。然后我得到了fowlowing错误:

     $searchq = $_GET['search'];
     $searchq = str_replace(' ','-',$searchq);     
    $con =  mysql_connect("localhost","root","****");
if (!$con) {
  die('Could not connect: ' . mysql_error());
}

mysql_select_db("register-login", $con);

$result = mysql_query("SELECT COUNT(`car_id`)FROM `adver` WHERE merk LIKE '%$searchq%' OR titel LIKE '%$searchq%' OR model LIKE '%$searchq%'");
$row = mysql_fetch_array($result);
$total = $row[0];



$pages = new Paginator;  
$pages->items_total = $total;
$pages->mid_range = 5;  
$pages->paginate();  
您的SQL语法有错误;请查看与MySQL服务器版本对应的手册,以了解第1行的'-10,10'附近使用的正确语法

     $searchq = $_GET['search'];
     $searchq = str_replace(' ','-',$searchq);     
    $con =  mysql_connect("localhost","root","****");
if (!$con) {
  die('Could not connect: ' . mysql_error());
}

mysql_select_db("register-login", $con);

$result = mysql_query("SELECT COUNT(`car_id`)FROM `adver` WHERE merk LIKE '%$searchq%' OR titel LIKE '%$searchq%' OR model LIKE '%$searchq%'");
$row = mysql_fetch_array($result);
$total = $row[0];



$pages = new Paginator;  
$pages->items_total = $total;
$pages->mid_range = 5;  
$pages->paginate();  
当我将$result=mysql\u查询更改为==>从adver选择COUNTcar\u idf时; 然后一切正常除了我的页码。。。因为不管我在找什么,我都会清点每一辆车的id。。例如,我得到了3张空白页

     $searchq = $_GET['search'];
     $searchq = str_replace(' ','-',$searchq);     
    $con =  mysql_connect("localhost","root","****");
if (!$con) {
  die('Could not connect: ' . mysql_error());
}

mysql_select_db("register-login", $con);

$result = mysql_query("SELECT COUNT(`car_id`)FROM `adver` WHERE merk LIKE '%$searchq%' OR titel LIKE '%$searchq%' OR model LIKE '%$searchq%'");
$row = mysql_fetch_array($result);
$total = $row[0];



$pages = new Paginator;  
$pages->items_total = $total;
$pages->mid_range = 5;  
$pages->paginate();  
我希望有人能帮我解决这个问题,谢谢

您将获得COUNT*的别名,并在以下内容后获取此字段:

     $searchq = $_GET['search'];
     $searchq = str_replace(' ','-',$searchq);     
    $con =  mysql_connect("localhost","root","****");
if (!$con) {
  die('Could not connect: ' . mysql_error());
}

mysql_select_db("register-login", $con);

$result = mysql_query("SELECT COUNT(`car_id`)FROM `adver` WHERE merk LIKE '%$searchq%' OR titel LIKE '%$searchq%' OR model LIKE '%$searchq%'");
$row = mysql_fetch_array($result);
$total = $row[0];



$pages = new Paginator;  
$pages->items_total = $total;
$pages->mid_range = 5;  
$pages->paginate();  
$result = mysql_query("SELECT COUNT(*) AS total FROM `adver` WHERE merk LIKE '%$searchq%' OR title LIKE '%$searchq%' OR model LIKE '%$searchq%'") or die(mysql_error());
$row = mysql_fetch_array($result);
$total = $row['total']; //use alias
你有错误的域名,我想:titel将是title

     $searchq = $_GET['search'];
     $searchq = str_replace(' ','-',$searchq);     
    $con =  mysql_connect("localhost","root","****");
if (!$con) {
  die('Could not connect: ' . mysql_error());
}

mysql_select_db("register-login", $con);

$result = mysql_query("SELECT COUNT(`car_id`)FROM `adver` WHERE merk LIKE '%$searchq%' OR titel LIKE '%$searchq%' OR model LIKE '%$searchq%'");
$row = mysql_fetch_array($result);
$total = $row[0];



$pages = new Paginator;  
$pages->items_total = $total;
$pages->mid_range = 5;  
$pages->paginate();  

要调试您的查询,您将在mysql_查询调用后添加或删除mysql_错误请参见我的代码

分页总是有限制的,似乎您指定了-10,10的限制,因此是一个负开始;可能在$pages->limit中,这似乎就是问题所在

     $searchq = $_GET['search'];
     $searchq = str_replace(' ','-',$searchq);     
    $con =  mysql_connect("localhost","root","****");
if (!$con) {
  die('Could not connect: ' . mysql_error());
}

mysql_select_db("register-login", $con);

$result = mysql_query("SELECT COUNT(`car_id`)FROM `adver` WHERE merk LIKE '%$searchq%' OR titel LIKE '%$searchq%' OR model LIKE '%$searchq%'");
$row = mysql_fetch_array($result);
$total = $row[0];



$pages = new Paginator;  
$pages->items_total = $total;
$pages->mid_range = 5;  
$pages->paginate();  

不使用SQL\u CALC\u FOUND\u行是否有性能方面的考虑?有了它,无论使用LIMIT子句,都可以得到结果的总计数。

一个附加提示:使用mysqli而不是mysql函数,并阅读一些有关准备语句的信息!嗨,谢谢你的回复,但我还是有同样的错误。顺便说一句,字段名为“titel”在dutch中,您可以尝试删除COUNT*和total之间的AS关键字表名和列名到底是什么?表名=adver,列名是:model,titel,merkI应该看看$pages->limit,问题应该就在附近!谢谢如果我发现了什么,请告诉你。嗨,问题是你说的$pages->limit。我创建了一个simpel if语句来检查是否有一个零结果。类似这样的情况:如果$total>0{$photo=mysql\u querySELECT*来自adver,其中merk像“%$searchq%”或titel像“%$searchq%”或模型像“%$searchq%”按car\u id DESC$pages->limitor diemsql\u错误;如果mysql\u num\u rows$photo>0{而$get\u photo=mysql\u fetch assoc$photo{//my loop}否则{echo找不到任何记录;}!
     $searchq = $_GET['search'];
     $searchq = str_replace(' ','-',$searchq);     
    $con =  mysql_connect("localhost","root","****");
if (!$con) {
  die('Could not connect: ' . mysql_error());
}

mysql_select_db("register-login", $con);

$result = mysql_query("SELECT COUNT(`car_id`)FROM `adver` WHERE merk LIKE '%$searchq%' OR titel LIKE '%$searchq%' OR model LIKE '%$searchq%'");
$row = mysql_fetch_array($result);
$total = $row[0];



$pages = new Paginator;  
$pages->items_total = $total;
$pages->mid_range = 5;  
$pages->paginate();