我一直在阅读有关设计模式的PHP书籍,并希望在我的代码中加入一种数据库模式。具体来说,类方法返回一个包含两个元素的数组。
第一个元素是一个字符串,如下所示。
"SELECT col1, col2, col3 FROM table WHERE col1 = ?, col2= ?"
第二个元素是一个包含字符串值数组的数组(在本例中为1和2)
我正在寻找最有效的方法(它将经常用于实例化对象)以在“?”上合并这两个数组。这样的分隔符 最终结果是一个字符串= “SELECT col1,col2,col3 FROM table WHERE col1 = 1,col2 = 2”
我见过像preg_replace这样的东西,但它依赖于固定的N个模式数组。我正在寻找一些更有活力的东西。我将在PDO select语句中使用代码的输出。请注意,上面是一个具体的例子,但我需要它为任意数量的工作吗?和输入
这是代码
//This function returns an array of two elements, $string_ar[0] is the string, $string_ar[1] are the values
$string_ar = $selectionFactory->doNewSelection($friend_idobj,'has_friend');
谢谢大家!
答案 0 :(得分:1)
首先,我想告诉你关于PHP的PDO extension,它支持并专注于准备好的语句,甚至为不支持它们的数据库引擎模拟它们。
其次,如果你想在没有准备好的陈述的情况下处理这个问题,你应该看看strtok,如果你没有非常复杂的逻辑,甚至explode也可以这样做。