gpt4 book ai didi

php - 为什么我的 LIKE 搜索会返回所有内容?

转载 作者:太空宇宙 更新时间:2023-11-03 12:32:30 26 4
gpt4 key购买 nike

我正在尝试在我的充满图像的页面中进行图像搜索。

无论我搜索什么,它总是返回数据库中带有标签信息的所有图像。

我这样做是为了当有人在搜索框中输入文本时,页面被重定向到:

ob_start();

$input = abs($_GET['input']);
$query = "SELECT * FROM `photo`.`photo` WHERE `tags` LIKE '%$input'";
$result = mysql_query($query);
$data = mysql_fetch_array($result) or die (mysql_error());
$rows = mysql_num_rows($result);
$image = $data['image'];

if ($rows==0) {
echo 'no results found';
} else {
$jpgimage = imagecreatefromstring($image);

$image_width = imagesx($jpgimage);
$image_height = imagesy($jpgimage);

$new_size = ($image_width + $image_height)/($image_width*($image_height/45));
$new_width = $image_width * $new_size;
$new_height = $image_height * $new_size;

$new_image = imagecreatetruecolor($new_width, $new_height);

imagecopyresized($new_image, $jpgimage, 0, 0, 0, 0, $new_width, $new_height, $image_width, $image_height);
$imagearray = imagejpeg($new_image, null);
header('Content-type: image/jpeg');

echo $imagearray;
}

照片存储为 BLOBS,所以在这里我将它们转换为 jpeg 并调整它们的大小。

其中大部分只是重新调整图像大小,但我不知道为什么我的 mysql 查询行中的 LIKE 部分不起作用。它总是给我所有带有标签的图片。

最佳答案

我怀疑 $input 是空的。如果您的变量 $input 为 null 或空字符串,它将创建一个 where 子句:

 SELECT * FROM `photo`.`photo` WHERE `tags` LIKE '%'

这会将通配符“%”匹配到所有内容。

关于php - 为什么我的 LIKE 搜索会返回所有内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14739642/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com