【发布时间】:2011-03-17 15:21:07
【问题描述】:
所以我正在尝试创建一个基于多维数组生成 SQL 查询字符串的函数。
例子:
function createQueryString($arrayToSelect, $table, $conditionalArray) {
$queryStr = "SELECT ".implode(", ", $arrayToSelect)." FROM ".$table." WHERE ";
$queryStr = $queryStr.implode(" AND ",$conditionalArray); /*NEED HELP HERE*/
return $queryStr;
}
$columnsToSelect = array('ID','username');
$table = 'table';
$conditions = array('lastname'=>'doe','zipcode'=>'12345');
echo createQueryString($columnsToSelect, $table, $conditions); /*will result in incorrect SQL syntax*/
如您所见,我需要关于第三行的帮助,因为它目前正在打印
从表 WHERE 中选择 ID、用户名 姓氏和邮政编码
但它应该是打印出来的
从表 WHERE 中选择 ID、用户名 姓氏 = 'doe' AND zipcode = '12345'
【问题讨论】:
-
我看到您正在尝试创建 SQL 查询生成器。我现在会告诉你,这是一个巨大的痛苦......顺便说一句,如果你的
$conditionalArray是空的(因为 WHERE 子句仍然存在),这将生成无效的 SQL......而且你不适应LIKE、等
标签: php arrays associative-array implode