Php 搜索函数上的sql错误
在正手的时候,我很抱歉变量名是荷兰语,但是我在页面导航和搜索框方面遇到了困难 代码如下:Php 搜索函数上的sql错误,php,sql,Php,Sql,在正手的时候,我很抱歉变量名是荷兰语,但是我在页面导航和搜索框方面遇到了困难 代码如下: $zoekwoord=""; $html.=<<<EOT <form method="get" class="zoek"> <input type="hidden" name="page" value="home_overzicht"> <input type="text" name="zoekwoord">
$zoekwoord="";
$html.=<<<EOT
<form method="get" class="zoek">
<input type="hidden" name="page" value="home_overzicht">
<input type="text" name="zoekwoord">
<input type="submit" value="zoeken"/>
</form>
EOT;
if(!empty($_GET['zoekwoord'])){
$zoekwoord=$_GET['zoekwoord'];
}
$itemsperpagina = 20;
$aantal=$data->berichten_tellen($zoekwoord);
$aantalpaginas=ceil($aantal / $itemsperpagina); // Altijd omhoog!
if (empty($_GET['pagina'])) {
$pagina=1;
} else {
$pagina=intval($_GET['pagina']);
}
if (($pagina<1) || ($pagina>$aantalpaginas)) $pagina=1;
$html_navigatie='<p>';
if ($pagina>1) {
$html_navigatie.='<a href="?page=home_overzicht&pagina='.($pagina-1).'&zoekwoord='.($zoekwoord).'">Vorige</a>';
}
$html_navigatie.=" Pagina {$pagina}/{$aantalpaginas} ";
if ($pagina<$aantalpaginas) {
$html_navigatie.='<a href="?page=home_overzicht&pagina='.($pagina+1).'&zoekwoord='.($zoekwoord).'">Volgende</a>';
}
$html_navigatie.="</p>";
$html.=$html_navigatie;
$zoekwoord=”“;
$html.=1){
$html_navigatie.='';
}
$html_navigatie.=“Pagina{$Pagina}/{$aantalpaginas}”;
如果($paginamysqli->查询(
获取_行();
$result->free();
返回($row[0]);
}否则{
返回(假);
}
}
以下是导航的功能
function home_berichten_laten_zien($pagina, $itemsperpagina,$zoekwoord=""){
$l = ($pagina-1) * $itemsperpagina;
if ($l<0) $l=0;
$result = $this->mysqli->query(
<<<EOT
SELECT id, kop, artikel, auteur, datum, status
FROM home
WHERE lower(concat_ws(' ',kop,auteur))
LIKE lower('%{$cleandata}%') ORDER BY kop LIMIT {$l},{$itemsperpagina}
EOT
);
if(!$result){
die("MySQL error: " . $this->mysqli->error);
}
$waardes = array();
while($row = $result->fetch_assoc()){
$waardes[] = $row;
}
return $waardes;
}
function home\u berichten\u laten\zien($pagina,$itemsperpagina,$zoekwoord=”“){
$l=($pagina-1)*$itemsperpagina;
如果($lmysqli->查询(
fetch_assoc()){
$waardes[]=$row;
}
返回$waardes;
}
这就是我在打开特定页面时遇到的错误:
MySQL错误:您的SQL语法有错误;请查看与您的MySQL服务器版本对应的手册,以了解在“*”附近使用的正确语法,其中位于第1行的lower(concat_ws(“”,kop,auteur))如lower(“%%”)”深埋在
若要将该名称用作表达式中的函数调用,必须没有
名称和以下“(“括号”)之间的空格
性格
也就是说,COUNT(*)
被识别。但是,COUNT(*)
不被识别
请注意,这是MySQL数据库的一个特性。您拥有的计数()不正确。您不允许放置计数(),必须像放置计数()一样放置。我认为如果您坚持放置计数(),您可以做些什么,但我不确定。请查阅
function home_berichten_laten_zien($pagina, $itemsperpagina,$zoekwoord=""){
$l = ($pagina-1) * $itemsperpagina;
if ($l<0) $l=0;
$result = $this->mysqli->query(
<<<EOT
SELECT id, kop, artikel, auteur, datum, status
FROM home
WHERE lower(concat_ws(' ',kop,auteur))
LIKE lower('%{$cleandata}%') ORDER BY kop LIMIT {$l},{$itemsperpagina}
EOT
);
if(!$result){
die("MySQL error: " . $this->mysqli->error);
}
$waardes = array();
while($row = $result->fetch_assoc()){
$waardes[] = $row;
}
return $waardes;
}