php - Mysql,其中名称在数组中

标签 php mysql

   $CustomerName= preg_replace('/[^a-zA-Z0-9-_\.,& ]/','',$row["Customer_Name"]);
   array_push($CustomerName2,$CustomerName);
   $sqlquery = "SELECT * FROM Customer where Customer_Name IN ($CustomerName2)";
   $stmt = mysql_query($conn,$sqlquery);
   echo(print_r(sqlsrv_errors(), true));
   while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_NUMERIC))    
   {    
       $sqlCustomerIdMaps[$row[0]]= $row[0];
   }

我不太熟悉 php,在上面的 php 代码中从 sql 查询数据。我的输出来自数组 $CustomerName2,例如:

Array ( [0] => Acme Janitor & Chemical Supply [1] => Adam Zampa [2] => AMAZON.COM PHOENIX PHX6 [3] => Aston Agar [4] => Austin Consulting Group [5] => Brad Hodge [6] => Cedrick Johnson [7] => Crowen [8] => David Miller [9] => David Warner [10] => DKR [11] => DKR [12] => DKR [13] => Jaworskyj Gabrielle [14] => Johan2 [15] => Jone [16] => Keith Olson [17] => Mallika [18] => Manoj Reddy [19] => Michael Bevan [20] => Philip Andry [21] => Shane1 Warne1 [22] => Spad Consulting Group [23] => Usman Khawaja [24] => Zohar )

在 sql 查询中,我没有收到任何错误,但查询不起作用?

我需要使用 Customer_Name 进行查询并将结果添加到映射以更新 SQL Server 中的数据。

谁能帮我解决这个问题。

提前致谢!

最佳答案

您的问题是 $CustomerName2 是一个数组,并且您在进行查询时尝试将其用作字符串。将该代码更改为:

$sqlquery = "SELECT * 
    FROM Customer
    WHERE Customer_Name IN ('" . implode("','", $CustomerName2) . "')";

更新

您使用了错误的数据库来获取数据。基于您使用 mysqli 库连接到 MySQL 数据库的事实,您应该将代码的最后部分重写为:

$result = mysqli_query($conn, $sqlquery);
echo mysqli_errno($conn);
while ($row = mysqli_fetch_array($result) {
    $sqlCustomerIdMaps[$row[0]]= $row[0];
}

关于php - Mysql,其中名称在数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52401631/

相关文章:

php - 如何给抽象方法的参数添加类名类型?

php - 如何在具有类似文件夹的层次结构的表中聚合计数记录

php - 如何将间隔时间保存在数据库中

mysql - 将文本文件中的特定列导入 mysql.. 这可能吗?

php - 在php中检查带有空格的函数

PHP 取消链接在 codeigniter 中不起作用

php - 动态加载下拉框的基础知识

php - 使用asp.net应用程序在Azure虚拟目录中部署wordpress应用程序

php - 如何重定向除登陆页面之外的子目录?

javascript - 通过单击按钮引用 li 的跨度