PHP使用Ajax传递JSON数据以进行inArray()比较
我试图使用Ajax将html表单中的用户输入检查到数据库中允许值的列表中,然后我想显示相应的消息。这是我正在使用的代码: js datafile.phpPHP使用Ajax传递JSON数据以进行inArray()比较,php,jquery,json,ajax,Php,Jquery,Json,Ajax,我试图使用Ajax将html表单中的用户输入检查到数据库中允许值的列表中,然后我想显示相应的消息。这是我正在使用的代码: js datafile.php <?php require_once("./db_con.php"); $query = mysqli_query($con, "SELECT postal_code FROM table"); $rows = mysqli_fetch_all($query); echo json_encode($rows); mysqli_free_
<?php
require_once("./db_con.php");
$query = mysqli_query($con, "SELECT postal_code FROM table");
$rows = mysqli_fetch_all($query);
echo json_encode($rows);
mysqli_free_result($query);
mysqli_close($con);
exit();
?>
我遇到的问题是,输入值从未与
result
变量中的任何值匹配,即使我知道它们在数据库中。我认为问题与以下事实有关:result
变量包含另一个数组中的数组,例如[[“value1”]、[“value2”]、[“value3”]
我不能真正谈论JavaScript部分,但因为您只选择了一列,所以可以将其提取到单个维度中<默认情况下,code>mysqli\u fetch\u all获取数字索引数组:
$rows = array_column(mysqli_fetch_all($query), 0);
或按列名获取和提取:
$rows = array_column(mysqli_fetch_all($query, MYSQLI_ASSOC), 'postal_code');
感谢您在服务器端使用
array\u column()
解决了这个问题!
$rows = array_column(mysqli_fetch_all($query, MYSQLI_ASSOC), 'postal_code');