使用rawQuery搜索数据库表


Search database table using rawQuery

正如关于运行rawQuery的文档中所述,我正在使用MySQLI Wrapper。由于它并没有任何搜索数据库的功能,我不得不自己写。下面是我使用的代码。

$songs = $db->ObjectBuilder()->rawQuery('SELECT * FROM songs WHERE song_name LIKE ?', array('%test%'));

查询返回空结果,是的,数据库中有数据应该与搜索关键字匹配。知道我在查询中做错了什么吗?

我不知道songs的结构和内容,但您的代码似乎是正确的。若在将array('%test%')插入到查询中时问题仍然存在,您可以通过手动插入来尝试。尝试执行这个:

$db->ObjectBuilder()->rawQuery("SELECT * FROM songs WHERE song_name LIKE '%test%'");

如果这个查询返回空结果,那么我会怀疑您的查询或数据库中有问题。否则,用rawQuery函数重写参数有问题。