php用 WHERE 列名 IN (数组) 语句批量请求数据库(SQL Server)查询数据

本文主要是介绍php用 WHERE 列名 IN (数组) 语句批量请求数据库(SQL Server)查询数据,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

a.php 文件内容:

<?php
header("Content-Type: text/html; charset=UTF-8");
header('Access-Control-Allow-Origin: *');
header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept");
header('Access-Control-Allow-Methods: GET, POST, PUT,DELETE');
/*** IN 语句请求数据库信息*///服务器名称
$serverName = ".\SQLSERVERDEMO";//数据库的信息(数据库名称、登录用户名、密码)
$connInfo = array("Database"=>"WarehouseManagementSystem", "UID"=>"admin", "PWD"=>"123456");//建立与数据库的连接
$conn = sqlsrv_connect($serverName,$connInfo);// 数组转码函数
function array_iconv($in_charset,$out_charset,$arr){return eval('return '.iconv($in_charset,$out_charset,var_export($arr,true).';'));
}$jarr = array();class Emp {public $msg = "";public $code = "";public $data = "";
}// 前端请求接口时传来的data
$data = json_decode($_POST['data']);// 拼接成('x','y','z')这种形式的字符串
$str = '';for($x = 0; $x < count($requestData); $x++)
{$str .= "'".$requestData[$x]."',";
}// 删除掉最后一个逗号','
$str = substr($str, 0, strlen($str) - 1);// 如果$str中有汉字的话,还需转码成GBK格式(这里我的数据库数据存储格式是GB2312,所以转化为GBK格式)
$str = iconv("UTF-8","GBK",$str);$e = new Emp();if ($conn) {// 拼接请求数据库的查询语句    $sql = "SELECT * FROM ProductInfo WHERE ProductNo IN (".$str.")";$stmt = sqlsrv_query( $conn, $sql);while($row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC) ){// 因为数据库数据存储格式是GB2312,而前端数据存储格式是UTF-8,所以这里要进行转码$row = array_iconv('GBK','UTF-8',$row);array_push($jarr,$row);}if ($stmt == true) {// 返回结果$e->msg = "查询成功!";$e->code = "success";$e->data = $jarr;echo json_encode($e);} else {// 返回结果$e->msg = "查询失败!";$e->code = "error";$e->data = null;echo json_encode($e);}} else {// 返回结果$e->msg = "数据库连接失败!";$e->code = "error";$e->data = null;echo json_encode($e);
}

前端ajax请求:

			var arr = [100, 200, 300, 400, 500]$.ajax({type: 'POST',data: 'data=' + JSON.stringify(arr),// 填写要请求的php文件的地址url: 'http://localhost:8080/a.php',dataType: 'json',contentType: 'application/x-www-form-urlencoded; charset=utf-8',success: function(data) {console.log(data)},error: function(data) {console.log('错误')}})

这样就可以做到接口传递data为数组,然后sql语句一次请求查询完所有数据返回给前端。

这篇关于php用 WHERE 列名 IN (数组) 语句批量请求数据库(SQL Server)查询数据的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1028937

相关文章

Python调用Orator ORM进行数据库操作

《Python调用OratorORM进行数据库操作》OratorORM是一个功能丰富且灵活的PythonORM库,旨在简化数据库操作,它支持多种数据库并提供了简洁且直观的API,下面我们就... 目录Orator ORM 主要特点安装使用示例总结Orator ORM 是一个功能丰富且灵活的 python O

如何使用Java实现请求deepseek

《如何使用Java实现请求deepseek》这篇文章主要为大家详细介绍了如何使用Java实现请求deepseek功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1.deepseek的api创建2.Java实现请求deepseek2.1 pom文件2.2 json转化文件2.2

Android 悬浮窗开发示例((动态权限请求 | 前台服务和通知 | 悬浮窗创建 )

《Android悬浮窗开发示例((动态权限请求|前台服务和通知|悬浮窗创建)》本文介绍了Android悬浮窗的实现效果,包括动态权限请求、前台服务和通知的使用,悬浮窗权限需要动态申请并引导... 目录一、悬浮窗 动态权限请求1、动态请求权限2、悬浮窗权限说明3、检查动态权限4、申请动态权限5、权限设置完毕后

C++初始化数组的几种常见方法(简单易懂)

《C++初始化数组的几种常见方法(简单易懂)》本文介绍了C++中数组的初始化方法,包括一维数组和二维数组的初始化,以及用new动态初始化数组,在C++11及以上版本中,还提供了使用std::array... 目录1、初始化一维数组1.1、使用列表初始化(推荐方式)1.2、初始化部分列表1.3、使用std::

C++ Primer 多维数组的使用

《C++Primer多维数组的使用》本文主要介绍了多维数组在C++语言中的定义、初始化、下标引用以及使用范围for语句处理多维数组的方法,具有一定的参考价值,感兴趣的可以了解一下... 目录多维数组多维数组的初始化多维数组的下标引用使用范围for语句处理多维数组指针和多维数组多维数组严格来说,C++语言没

Springboot中分析SQL性能的两种方式详解

《Springboot中分析SQL性能的两种方式详解》文章介绍了SQL性能分析的两种方式:MyBatis-Plus性能分析插件和p6spy框架,MyBatis-Plus插件配置简单,适用于开发和测试环... 目录SQL性能分析的两种方式:功能介绍实现方式:实现步骤:SQL性能分析的两种方式:功能介绍记录

使用 sql-research-assistant进行 SQL 数据库研究的实战指南(代码实现演示)

《使用sql-research-assistant进行SQL数据库研究的实战指南(代码实现演示)》本文介绍了sql-research-assistant工具,该工具基于LangChain框架,集... 目录技术背景介绍核心原理解析代码实现演示安装和配置项目集成LangSmith 配置(可选)启动服务应用场景

oracle DBMS_SQL.PARSE的使用方法和示例

《oracleDBMS_SQL.PARSE的使用方法和示例》DBMS_SQL是Oracle数据库中的一个强大包,用于动态构建和执行SQL语句,DBMS_SQL.PARSE过程解析SQL语句或PL/S... 目录语法示例注意事项DBMS_SQL 是 oracle 数据库中的一个强大包,它允许动态地构建和执行

SQL 中多表查询的常见连接方式详解

《SQL中多表查询的常见连接方式详解》本文介绍SQL中多表查询的常见连接方式,包括内连接(INNERJOIN)、左连接(LEFTJOIN)、右连接(RIGHTJOIN)、全外连接(FULLOUTER... 目录一、连接类型图表(ASCII 形式)二、前置代码(创建示例表)三、连接方式代码示例1. 内连接(I

在MySQL执行UPDATE语句时遇到的错误1175的解决方案

《在MySQL执行UPDATE语句时遇到的错误1175的解决方案》MySQL安全更新模式(SafeUpdateMode)限制了UPDATE和DELETE操作,要求使用WHERE子句时必须基于主键或索引... mysql 中遇到的 Error Code: 1175 是由于启用了 安全更新模式(Safe Upd