我正在用AJAX创建一个数组列表。当我查询SQL时,我得到一个缺少的列表。数组的第二个元素没有出现在查询中。
ajax.php
require_once("connection.php");
$keywords = $_POST['keyword'];
$keywords = array_map("strtolower",$keywords);
$new_keyword= implode(",",$keywords );
$query = mysqli_query($connect,"select images.image_url,keyword.keyword from keyword inner join images on images.id = keyword.id where keyword.keyword in ('$new_keyword')");
$number= mysqli_num_rows($query);
输出应为1但是2 因为$ keyword = ['hi','name'];
答案 0 :(得分:0)
我怀疑您错误地加入了表格"在images.id = keyword.id"。我不知道您的BD架构,但我怀疑它应该是"在images.keyword_id = keyword.id"或" on images.id = keyword.image_id"或类似的东西。给我们这些表以及表定义的示例数据。
编辑:从第4行开始将代码更改为:
$new_keyword= implode("','",$keywords );
$new_keyword = "'".$new_keyword."'";
$query = mysqli_query($connect,"select images.image_url,keyword.keyword from keyword inner join images on images.id = keyword.id where keyword.keyword in (".$new_keyword.")");
$number= mysqli_num_rows($query);