栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

MySQL准备的带有可变大小变量列表的语句

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

MySQL准备的带有可变大小变量列表的语句

我可以想到几个解决方案。

一种解决方案可能是创建一个临时表。在表中插入in子句中的每个参数。然后对您的临时表进行简单的联接。

另一种方法可能是做这样的事情。

$dbh=new PDO($dbConnect, $dbUser, $dbPass);$parms=array(12, 45, 65, 33);$parmcount=count($parms);   // = 4$inclause=implode(',',array_fill(0,$parmcount,'?')); // = ?,?,?,?$sql='SELECt age, name FROM people WHERe id IN (%s)';$preparesql=sprintf($sql,$inclause);  // = example statement used in the question$st=$dbh->prepare($preparesql);$st->execute($parms);

我怀疑但没有证据表明,第一种解决方案可能适用于较大的列表,而后一种解决方案适用于较小的列表。


让@orrd开心的是一个简短的版本。

$dbh=new PDO($dbConnect, $dbUser, $dbPass);$parms=array(12, 45, 65, 33);$st=$dbh->prepare(sprintf('SELECt age, name FROM people WHERe id IN (%s)',    implode(',',array_fill(0,count($parms),'?'))));$st->execute($parms);



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/390641.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号