php动态数组的存储过程,PHP数组作为存储过程的输入
这就是我现在正在做的事情:-在PHP中
foreach($array as $value)
{
$query = select abc from tblname where colname =" .$value.
// fire query
}
然后我创建这些值的数组,并进行相应显示.
问题: –
我已经申请了foreach,每次遇到数组中的值时都会触发查询.
结果,如果我数组中有10个值,则会触发10个查询.并使用网络10次,导致输出缓慢.
我想要的是 –
我想将数组提供给存储过程,该过程将给我一个结果集,该结果集将具有与数组中所有元素相对应的输出.
我知道可以做到,但不知道如何做到.
mysql不将数组作为数据类型.
结果将是网络只能使用一次,而对阵列中任意数量的值进行分配.
喜欢 –
StoredProcedure(inputMysqlARRAY) // not possible, need a workaroung
{
// fire simple select(same) query for each value.
}
然后从PHP和输入数组调用此存储过程. //需要解决方法.
解决方法:
您只需要对自己的电话变得更聪明.例如,保留缓存的DB对象以及类似的东西.
在不了解更多代码的情况下(您的问题相当混乱),似乎您的查询是这样的:
$query = "select abc from tblname where colname =" .$value; // run 10 times.
您实际上只需要编写更智能的代码:
$values = array(); // Now, populate this array.
// When you're done, run the query:
$query = 'select abc from tblname where colname IN (\''.implode('\',\'', $values).'\')';
通常,我们将其称为动态SQL,是今天通常如何完成工作的基础.存储过程(或者,根据我对问题的理解,存储函数)有时很有用,但作为与SQL接口的一阶方法,有些过时了. DB专家有时还是会发誓,但是我认为即使他们也相当同意,聪明的查询总是更好.
标签:php,arrays,mysql,stored-procedures
来源: https://codeday.me/bug/20191011/1894871.html
php动态数组的存储过程,PHP数组作为存储过程的输入相关推荐
- oracle存储过程中数组的使用
oracle存储过程中数组的使用 create or replace package ArrayTestPKG1 is type tt_type is table of varchar(32) ...
- C++中动态定义一维数组,二维数组,三维数组的方法
. #include<iostream> #include <ctime> #include <cstdlib> using namespace std;int m ...
- [JAVA冷知识]动态加载不适合数组类?那如何动态加载一个数组类?
写在前面 今天和小伙伴分享一些java小知识点,主要围绕下面几点: 既然数组是一个类, 那么编译后类名是什么?类路径呢? 为什么说动态加载不适合数组? 那应该如何动态加载一个数组? 部分内容参考 &l ...
- Java——动态创建一维数组和二维数组
一.数组的定义: 整数型一维数组:int[] a;或 int a[]; a = new int[m];(m为数组元素个数) 整数型二维数组:int[][] a;或 int a[][];或 ...
- 2022-04-07 西安 javaSE(04) 方法可变参数、重载、递归,数组、冒泡排序、二分查找、动态操作,二维数组、jvm内存区域划分
方法 1.方法传递参数 形参是基本类型: 1.参数传递的内容是该基本类型的数据值. 2.对形式参数的改变不会影响实际参数的数据值 形参是引用类型: 1.参数传递的是地址值 2.对形 ...
- C++实现动态定义三维内的数组定义赋值释放
//动态定义一维数组.二维数组.三维数组 #include<iostream> #include<ctime> using namespace std ; int main() ...
- mysql 存储过程参数数组_如何给存储过程,传一个数组参数?
接到这个需求,本以为简单.谁知道SQL不支持数组.于是想用','分割传进去,哪知道SQL居然没有split()函数,还得用substring & charindex,坑爹啊. 方法一 分割 例 ...
- ORACLE存储过程使用数组
ORACLE存储过程使用数组 1 单维数组 --单维数组 DECLARE-- 定义一个数组TYPE emp_ssn_array IS TABLE OF NUMBER INDEX BY BINARY_I ...
- Mybatis调用PostgreSQL存储过程实现数组入参传递
前言 项目中用到了Mybatis调用PostgreSQL存储过程(自定义函数)相关操作,由于PostgreSQL自带数组类型,所以有一个自定义函数的入参就是一个int数组,形如: CREATE OR ...
- mysql 存储过程 定义数组_MySql存储过程
Mysql进阶 存储过程 1 什么是存储过程 1.存储过程,带有逻辑的sql语句 2.之前的sql没有条件判断,没有循环 3.存储过程带上流程控制语句(if while) 2 存储过程特点 1)执行效 ...
最新文章
- 2.Java中String,StringBuilder以及StringBuffer的关系与区别
- c语言编程平均分,用C语言编程平均分数
- stringstream用法总结
- Android Gradle(三)Groovy快速入门指南
- 单向链表的C语言实现与基本操作
- vue 多页面多模块分模块打包 分插件安装_Vue渲染方式
- Android实现网络音乐播放器
- ie7下scroll不触发,滚动位置不对的问题
- 微电子专业要学c语言吗,微电子技术专业学什么?
- 页面置换算法java_页面置换算法之Clock算法
- android ios 录音功能,iOS与Android的音频互通
- oracle表数据误删恢复,表误删恢复
- DIY 2U 服务器
- 卷积神经网络实现手写数字集
- jtable 表头 透明_日本艺术家携手岡本打造了一对“拥薄透明人”!为情侣们定制了一份专属浪漫!这个七夕,一起拥抱爱吧!...
- Kubernetes Dashboard的安装与配置
- 计算圆周率π和显示进度条
- 变化检测DSCN论文介绍
- 是对马的鬼魂日本RPG
- 好用的翻译软件-大家都在用的互译软件
热门文章
- intellij idea 1314 插件推荐及快速上手建议 (已更新!)
- SQL SERVER 2005 请求失败或服务未及时响应
- Canvas3 汉化QA和BUG反馈
- element怎么设置复选框属性_【JavaScript 教程】DOM——属性的操作
- java json xml app交互_Java 实体 xml 和 json 之间相互转换
- 计算机起源于发展论文,关于计算机起源及发展的论文1500字左右,论文形式.
- java数据结构教程_Java数据结构
- idea 文件流读取web-inf下的文件_C#初学者教程系列20:Stream流读写
- 一文了解当今AI的失落
- Python 单词翻译:中英文翻译模块