这就是我现在正在做的事情:-在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数组作为存储过程的输入相关推荐

  1. oracle存储过程中数组的使用

    oracle存储过程中数组的使用 create or replace package ArrayTestPKG1 is    type tt_type is table of varchar(32) ...

  2. C++中动态定义一维数组,二维数组,三维数组的方法

    . #include<iostream> #include <ctime> #include <cstdlib> using namespace std;int m ...

  3. [JAVA冷知识]动态加载不适合数组类?那如何动态加载一个数组类?

    写在前面 今天和小伙伴分享一些java小知识点,主要围绕下面几点: 既然数组是一个类, 那么编译后类名是什么?类路径呢? 为什么说动态加载不适合数组? 那应该如何动态加载一个数组? 部分内容参考 &l ...

  4. Java——动态创建一维数组和二维数组

    一.数组的定义: 整数型一维数组:int[] a;或 int a[];        a = new int[m];(m为数组元素个数) 整数型二维数组:int[][] a;或 int a[][];或 ...

  5. 2022-04-07 西安 javaSE(04) 方法可变参数、重载、递归,数组、冒泡排序、二分查找、动态操作,二维数组、jvm内存区域划分

    方法 1.方法传递参数 形参是基本类型: 1.参数传递的内容是该基本类型的数据值.   2.对形式参数的改变不会影响实际参数的数据值 形参是引用类型:     1.参数传递的是地址值     2.对形 ...

  6. C++实现动态定义三维内的数组定义赋值释放

    //动态定义一维数组.二维数组.三维数组 #include<iostream> #include<ctime> using namespace std ; int main() ...

  7. mysql 存储过程参数数组_如何给存储过程,传一个数组参数?

    接到这个需求,本以为简单.谁知道SQL不支持数组.于是想用','分割传进去,哪知道SQL居然没有split()函数,还得用substring & charindex,坑爹啊. 方法一 分割 例 ...

  8. ORACLE存储过程使用数组

    ORACLE存储过程使用数组 1 单维数组 --单维数组 DECLARE-- 定义一个数组TYPE emp_ssn_array IS TABLE OF NUMBER INDEX BY BINARY_I ...

  9. Mybatis调用PostgreSQL存储过程实现数组入参传递

    前言 项目中用到了Mybatis调用PostgreSQL存储过程(自定义函数)相关操作,由于PostgreSQL自带数组类型,所以有一个自定义函数的入参就是一个int数组,形如: CREATE OR ...

  10. mysql 存储过程 定义数组_MySql存储过程

    Mysql进阶 存储过程 1 什么是存储过程 1.存储过程,带有逻辑的sql语句 2.之前的sql没有条件判断,没有循环 3.存储过程带上流程控制语句(if while) 2 存储过程特点 1)执行效 ...

最新文章

  1. 2.Java中String,StringBuilder以及StringBuffer的关系与区别
  2. c语言编程平均分,用C语言编程平均分数
  3. stringstream用法总结
  4. Android Gradle(三)Groovy快速入门指南
  5. 单向链表的C语言实现与基本操作
  6. vue 多页面多模块分模块打包 分插件安装_Vue渲染方式
  7. Android实现网络音乐播放器
  8. ie7下scroll不触发,滚动位置不对的问题
  9. 微电子专业要学c语言吗,微电子技术专业学什么?
  10. 页面置换算法java_页面置换算法之Clock算法
  11. android ios 录音功能,iOS与Android的音频互通
  12. oracle表数据误删恢复,表误删恢复
  13. DIY 2U 服务器
  14. 卷积神经网络实现手写数字集
  15. jtable 表头 透明_日本艺术家携手岡本打造了一对“拥薄透明人”!为情侣们定制了一份专属浪漫!这个七夕,一起拥抱爱吧!...
  16. Kubernetes Dashboard的安装与配置
  17. 计算圆周率π和显示进度条
  18. 变化检测DSCN论文介绍
  19. 是对马的鬼魂日本RPG
  20. 好用的翻译软件-大家都在用的互译软件

热门文章

  1. intellij idea 1314 插件推荐及快速上手建议 (已更新!)
  2. SQL SERVER 2005 请求失败或服务未及时响应
  3. Canvas3 汉化QA和BUG反馈
  4. element怎么设置复选框属性_【JavaScript 教程】DOM——属性的操作
  5. java json xml app交互_Java 实体 xml 和 json 之间相互转换
  6. 计算机起源于发展论文,关于计算机起源及发展的论文1500字左右,论文形式.
  7. java数据结构教程_Java数据结构
  8. idea 文件流读取web-inf下的文件_C#初学者教程系列20:Stream流读写
  9. 一文了解当今AI的失落
  10. Python 单词翻译:中英文翻译模块