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

相关文章

MySQL 表的内外连接案例详解

《MySQL表的内外连接案例详解》本文给大家介绍MySQL表的内外连接,结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录表的内外连接(重点)内连接外连接表的内外连接(重点)内连接内连接实际上就是利用where子句对两种表形成的笛卡儿积进行筛选,我

C#代码实现解析WTGPS和BD数据

《C#代码实现解析WTGPS和BD数据》在现代的导航与定位应用中,准确解析GPS和北斗(BD)等卫星定位数据至关重要,本文将使用C#语言实现解析WTGPS和BD数据,需要的可以了解下... 目录一、代码结构概览1. 核心解析方法2. 位置信息解析3. 经纬度转换方法4. 日期和时间戳解析5. 辅助方法二、L

使用Python和Matplotlib实现可视化字体轮廓(从路径数据到矢量图形)

《使用Python和Matplotlib实现可视化字体轮廓(从路径数据到矢量图形)》字体设计和矢量图形处理是编程中一个有趣且实用的领域,通过Python的matplotlib库,我们可以轻松将字体轮廓... 目录背景知识字体轮廓的表示实现步骤1. 安装依赖库2. 准备数据3. 解析路径指令4. 绘制图形关键

MySQL的ALTER TABLE命令的使用解读

《MySQL的ALTERTABLE命令的使用解读》:本文主要介绍MySQL的ALTERTABLE命令的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、查看所建表的编China编程码格式2、修改表的编码格式3、修改列队数据类型4、添加列5、修改列的位置5.1、把列

Java如何从Redis中批量读取数据

《Java如何从Redis中批量读取数据》:本文主要介绍Java如何从Redis中批量读取数据的情况,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一.背景概述二.分析与实现三.发现问题与屡次改进3.1.QPS过高而且波动很大3.2.程序中断,抛异常3.3.内存消

Mybatis嵌套子查询动态SQL编写实践

《Mybatis嵌套子查询动态SQL编写实践》:本文主要介绍Mybatis嵌套子查询动态SQL编写方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言一、实体类1、主类2、子类二、Mapper三、XML四、详解总结前言MyBATis的xml文件编写动态SQL

解决mysql插入数据锁等待超时报错:Lock wait timeout exceeded;try restarting transaction

《解决mysql插入数据锁等待超时报错:Lockwaittimeoutexceeded;tryrestartingtransaction》:本文主要介绍解决mysql插入数据锁等待超时报... 目录报错信息解决办法1、数据库中执行如下sql2、再到 INNODB_TRX 事务表中查看总结报错信息Lock

MySQL启动报错:InnoDB表空间丢失问题及解决方法

《MySQL启动报错:InnoDB表空间丢失问题及解决方法》在启动MySQL时,遇到了InnoDB:Tablespace5975wasnotfound,该错误表明MySQL在启动过程中无法找到指定的s... 目录mysql 启动报错:InnoDB 表空间丢失问题及解决方法错误分析解决方案1. 启用 inno

Druid连接池实现自定义数据库密码加解密功能

《Druid连接池实现自定义数据库密码加解密功能》在现代应用开发中,数据安全是至关重要的,本文将介绍如何在​​Druid​​连接池中实现自定义的数据库密码加解密功能,有需要的小伙伴可以参考一下... 目录1. 环境准备2. 密码加密算法的选择3. 自定义 ​​DruidDataSource​​ 的密码解密3

MySQL 安装配置超完整教程

《MySQL安装配置超完整教程》MySQL是一款广泛使用的开源关系型数据库管理系统(RDBMS),由瑞典MySQLAB公司开发,目前属于Oracle公司旗下产品,:本文主要介绍MySQL安装配置... 目录一、mysql 简介二、下载 MySQL三、安装 MySQL四、配置环境变量五、配置 MySQL5.1