【问题标题】:How to use php array with sql如何在 sql 中使用 php 数组
【发布时间】:2018-04-16 19:58:02
【问题描述】:

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

【问题讨论】:

    标签: php sql ajax


    【解决方案1】:

    我怀疑您在“images.id = keyword.id”上错误地加入了表格。我不知道您的 BD 架构,但我怀疑它应该是“on 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);
    

    【讨论】:

    • images table keyword table id image_url id keyword 两个 tablodas 有相同的 id。我用ajax发布了一组单词。 " $keywords = $_POST['keyword']; " 但只有第一个词出现在查询中。
    猜你喜欢
    • 2016-08-23
    • 2020-03-09
    • 2022-11-18
    • 2011-12-12
    • 2014-05-22
    • 1970-01-01
    • 2020-05-07
    • 2023-03-09
    • 1970-01-01
    相关资源
    最近更新 更多