如何在sql中使用php数组

如何在sql中使用php数组,php,sql,ajax,Php,Sql,Ajax,我正在用AJAX创建一个数组列表。当我查询SQL时,我会得到一个缺少的列表。数组的第二个元素未出现在查询中 ajax.php require_once("connection.php"); $keywords = $_POST['keyword']; $keywords = array_map("strtolower",$keywords); $new_keyword= implode(",",$keywords ); $query = mysqli_query($connect,"selec

我正在用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']

我怀疑您“on images.id=keyword.id”错误地加入了表。我不知道您的BD模式,但我怀疑它应该是“on images.keyword\u id=keyword.id”或“on images.id=keyword.image\u 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);

images table关键字table id image\u url id关键字两个tabloda都有相同的id。我用ajax发布了一组单词。“$keywords=$\u POST['keyword'];”但在查询中只有第一个单词出现。