Php 与: $searchTerm=trim($_POST['term']); $itemsPerPage=12; $page=1; $sql=“从图像中选择id、名称、标题”; $sql.=“其中标题类似“%”“$searchTerm.”%”; $sql.=“按id说明订购”; $sql.=“限制”。($page-1)*$itemsPerPage)。”,“$itemsPerPage; $mid=mysqli_查询($con,$sql); $output=''; while($row=mysqli\u fetch\u数组($mid)){ $output.=“”; $output.=“”; $output.=“”; }

Php 与: $searchTerm=trim($_POST['term']); $itemsPerPage=12; $page=1; $sql=“从图像中选择id、名称、标题”; $sql.=“其中标题类似“%”“$searchTerm.”%”; $sql.=“按id说明订购”; $sql.=“限制”。($page-1)*$itemsPerPage)。”,“$itemsPerPage; $mid=mysqli_查询($con,$sql); $output=''; while($row=mysqli\u fetch\u数组($mid)){ $output.=“”; $output.=“”; $output.=“”; },php,mysql,sql,Php,Mysql,Sql,您正在使用带有方法POST的表单,并尝试从$\u GET['term']接收值。因此,将其更改为$u POST['term'] 您正在为mysqli\u num\u行使用$sql。sql2语句中没有WHERE子句,您可以从中获取输出 试着从简单开始,一步一步地改进,从以下几点开始: $searchTerm = trim($_POST['term']); $itemsPerPage = 12; $page = 1; $sql = "SELECT id, name, caption FROM im

您正在使用带有方法POST的表单,并尝试从$\u GET['term']接收值。因此,将其更改为$u POST['term']

您正在为mysqli\u num\u行使用$sql。sql2语句中没有WHERE子句,您可以从中获取输出

试着从简单开始,一步一步地改进,从以下几点开始:

$searchTerm = trim($_POST['term']);
$itemsPerPage = 12;
$page = 1;

$sql = "SELECT id, name, caption FROM images";
$sql.= " WHERE caption LIKE '%".$searchTerm."%'";
$sql.= " ORDER BY id DESC";
$sql.= " LIMIT ".(($page - 1) * $itemsPerPage).",".$itemsPerPage;

$mid = mysqli_query($con, $sql);
$output = '';
while($row = mysqli_fetch_array($mid)) {
    $output.= "<div class=\"container_image\">";
    $output.= "<a href=\"/pic-".$row['id'].".html\"><img src=\"/upload/".$row['name']."\" width=\"210\" height=\"150\"/></a>";
    $output.= "</div>";
}
$searchTerm=trim($_POST['term']);
$itemsPerPage=12;
$page=1;
$sql=“从图像中选择id、名称、标题”;
$sql.=“其中标题类似“%”“$searchTerm.”%”;
$sql.=“按id说明订购”;
$sql.=“限制”。($page-1)*$itemsPerPage)。”,“$itemsPerPage;
$mid=mysqli_查询($con,$sql);
$output='';
while($row=mysqli\u fetch\u数组($mid)){
$output.=“”;
$output.=“”;
$output.=“”;
}




我不确定您从中得到了什么或希望得到什么。“奇怪的结果”到底是什么意思?您是否尝试过自己执行SQL查询?可爱的漏洞。享受你的服务器pwn3d。无论我在搜索表单中写什么,结果总是一样的——db表中的最后24项@MarcB,正如我最后写的,我知道这件事,谢谢你。我不确定你从中得到了什么,或者你期望得到什么。“奇怪的结果”到底是什么意思?您是否尝试过自己执行SQL查询?可爱的漏洞。享受你的服务器pwn3d。无论我在搜索表单中写什么,结果总是一样的——db表中的最后24项@MarcB,正如我最后写的,我知道这件事,谢谢你。我不确定你从中得到了什么,或者你期望得到什么。“奇怪的结果”到底是什么意思?您是否尝试过自己执行SQL查询?可爱的漏洞。享受你的服务器pwn3d。无论我在搜索表单中写什么,结果总是一样的——db表中的最后24项@MarcB,正如我最后写的,我知道这件事,谢谢你。我不确定你从中得到了什么,或者你期望得到什么。“奇怪的结果”到底是什么意思?您是否尝试过自己执行SQL查询?可爱的漏洞。享受你的服务器pwn3d。无论我在搜索表单中写什么,结果总是一样的——db表中的最后24项@MarcB,正如我最后写的,我知道这件事,谢谢你,谢谢你的回答。但是我在我的
while循环中使用了来自
$sql2
的查询。是的,但是您没有在任何地方使用来自
$sql
的查询
$sql2
没有
WHERE
子句,因此您的搜索词永远不会应用于它。这意味着您正在获取所有记录(取决于
限制
子句数量)。因此,我必须将此
WHERE
子句放在
$sql2
中,而不是放在
$sql
中?我以前试过,但都是一样的。。只需返回数据库中的全部数据。对不起,如果我真的知道,我不会在这里问。谢谢您的回答。但是我在我的
while循环中使用了来自
$sql2
的查询。是的,但是您没有在任何地方使用来自
$sql
的查询
$sql2
没有
WHERE
子句,因此您的搜索词永远不会应用于它。这意味着您正在获取所有记录(取决于
限制
子句数量)。因此,我必须将此
WHERE
子句放在
$sql2
中,而不是放在
$sql
中?我以前试过,但都是一样的。。只需返回数据库中的全部数据。对不起,如果我真的知道,我不会在这里问。谢谢您的回答。但是我在我的
while循环中使用了来自
$sql2
的查询。是的,但是您没有在任何地方使用来自
$sql
的查询
$sql2
没有
WHERE
子句,因此您的搜索词永远不会应用于它。这意味着您正在获取所有记录(取决于
限制
子句数量)。因此,我必须将此
WHERE
子句放在
$sql2
中,而不是放在
$sql
中?我以前试过,但都是一样的。。只需返回数据库中的全部数据。对不起,如果我真的知道,我不会在这里问。谢谢您的回答。但是我在我的
while循环中使用了来自
$sql2
的查询。是的,但是您没有在任何地方使用来自
$sql
的查询
$sql2
没有
WHERE
子句,因此您的搜索词永远不会应用于它。这意味着您正在获取所有记录(取决于
限制
子句数量)。因此,我必须将此
WHERE
子句放在
$sql2
中,而不是放在
$sql
中?我以前试过,但都是一样的。。只是从数据库返回全部数据。对不起,如果我真的知道,我不会在这里问。谢谢。我没看到这个。这修复了分页,但现在不管搜索哪个词,都会返回表~3000图像中的全部数据。如果我将
WHERE
放入
$sql2
并将其从
$sql
中删除。。又是一样的。我有点困惑。我已经尝试将
WHERE
子句放在
sql2
而不是
sql
中,结果是一样的。@Goro:你是什么意思?你试过提供的代码了吗?你能帮我一点分页吗?谢谢。我没看到这个。这修复了分页,但现在不管搜索哪个词,都会返回表~3000图像中的全部数据。如果我将
WHERE
放入
$sql2
并将其从
$sql
中删除。。又是一样的。我有点困惑。我已经尝试将
WHERE
子句放在
sql2
而不是
sql
中,结果是一样的。@Goro:你是什么意思?你有tr吗
<form action="../search.php" class="search-wrapper cf" method="post">
   <input type="text" placeholder="Searching..." required="" name="term">
   <button type="submit">Търсене</button>
</form>
$searchTerm = trim($_POST['term']);
$itemsPerPage = 12;
$page = 1;

$sql = "SELECT id, name, caption FROM images";
$sql.= " WHERE caption LIKE '%".$searchTerm."%'";
$sql.= " ORDER BY id DESC";
$sql.= " LIMIT ".(($page - 1) * $itemsPerPage).",".$itemsPerPage;

$mid = mysqli_query($con, $sql);
$output = '';
while($row = mysqli_fetch_array($mid)) {
    $output.= "<div class=\"container_image\">";
    $output.= "<a href=\"/pic-".$row['id'].".html\"><img src=\"/upload/".$row['name']."\" width=\"210\" height=\"150\"/></a>";
    $output.= "</div>";
}