我有一个数组,$username,其中包含一堆用户名,例如(让我们可以简单地列出 4 个值)
$username[0]='nicholas', $username[1]='Jane', $username[2]='Frank',$username[3]='Ben'
我在数据库中有一个表,例如
id username post timestamp
1 nicholas hello 13932...
2 Jane world 13922...
3 kesong yes 13978...
4 Frank bad 13374...
5 Sim tii 13842...
6 Ben tisue 13149...
我想选择仅与数组、$username 上的值匹配的行,并按时间戳排序
而不是:
//list all the value
$query="SELECT FORM `table1` WHERE `username`='nicholas' || `username`='Jane' ORDER BY timestamp "
任何方便的方法来完成这项工作,因为数组总是改变它的值
最佳答案
可能最好的方法是使用 IN
子句构建查询。
https://dev.mysql.com/doc/refman/5.0/en/comparison-operators.html#function_in
如果您所有可搜索的名称都包含在 $username
中,您可以创建动态查询,如下所示:
"SELECT FORM table1 WHERE username IN ('".implode("','", $username)."') ORDER BY timestamp"
关于php - 如何根据多种规范从mysql数据库中选择行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22151162/