php - 如何根据多种规范从mysql数据库中选择行

标签 php mysql sql arrays

我有一个数组,$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/

相关文章:

php - 如何通过 PHP 检测中东访客?

php - 使用连接创建字符串时在数据库行之间添加逗号

php - mysql不会返回正确的结果

sql - MySQL - 连接表,仅检索最大 ID

php - select with 300+ options 在 Chrome 上丢失样式

php - 如何重置我的 session ID?

javascript - 制作sql删除按钮来提交表单

mysql - #1005 - 无法使用 MySQL 创建表 'workswell_database.skoleni' 新手用户

MySQL - 如何删除子查询并简化 - 计算每年的销售额增长率

SQL Server 更新查询不起作用,但是,SQL 表示行受到影响