我目前正在使用joshcam的PHP-MySQLi-Database-Class,它有很多星星和叉子。然而,即使得到所有的关注,它似乎缺少一些功能 - 或者我误解了如何使用它。
当我使用他创建的where子句函数时,我输入的变量似乎没有引用它们。这就像我必须手动将引号添加到变量的开头和结尾,即使它们是准备好的语句并且反直觉。
我试过去找他,但没有运气,所以我来了。
以下是示例代码:
$db->where ('name', 'John Doe');
$results = $db->get ('users');
echo $db->getLastQuery();
然而,这是它的输出:
SELECT * FROM users WHERE name = John Doe
因此,除非我遗漏了某些东西(我仔细扫描了文档),否则我将不得不在where函数中的每个变量周围加上引号?为什么他没有加入这个,为什么这么多人喜欢这个包装器,如果缺少这么明显的功能呢?准备好的陈述的全部好处是它们可以处理报价和所有内容,所以如果我正确地做到这一点,这是违反直觉的。
编辑:更进一步。在他的文件下" Where"子句位,它说:
OR CASE
$db->where ('firstName', 'John'); $db->orWhere ('firstName', 'Peter');
$results = $db->get ('users');
// Gives: SELECT * FROM users WHERE firstName='John' OR firstName='peter'
然而,当我将确切的代码放入我的文件并回显查询时,它仍然没有显示引号。