假设以下数组:
$users = array(
// User ID => Username
'72' => 'jack192',
'23' => 'robert1984',
'253' => 'mary111',
'4' => 'jason92'
);
和下表:
Table myTable:
username | colFoo | colBar
我想运行如下查询,但是我希望输出另外包含一个不在表中的列(数组中的用户 ID):
$user_string = implode("','", array_values($users));
$query = "SELECT username, colFoo, colBar FROM myTable WHERE username IN ('$user_string')";
这通常会输出如下内容:
Array
(
[0] => Array
(
[username] => jack192
[colFoo] => 98
[colBar] => 7
)
[1] => Array
(
[username] => robert1984
[colFoo] =>
[colBar] => 2
)
[2] => Array
(
[username] => mary111
[colFoo] => 41
[colBar] => 9
)
[3] => Array
(
[username] => jason92
[colFoo] => 46
[colBar] => 13
)
)
但是,我希望输出看起来像这样,user_id
对应于原始数组中的键:
Array
(
[0] => Array
(
[username] => jack192
[colFoo] => 98
[colBar] => 7
[user_id] => 72
)
[1] => Array
(
[username] => robert1984
[colFoo] =>
[colBar] => 2
[user_id] => 23
)
[2] => Array
(
[username] => mary111
[colFoo] => 41
[colBar] => 9
[user_id] => 253
)
[3] => Array
(
[username] => jason92
[colFoo] => 46
[colBar] => 13
[user_id] => 4
)
)
我想我基本上只想将用户的 ID 输入到查询中并将其作为输出返回,而不需要 MySQL 对其进行任何进一步的处理。这可以在没有任何额外 PHP 代码的情况下纯粹在 SQL 中完成吗?
注意:我没有对要从中提取此数据的数据库的写访问权限,也没有创建架构,因此我无法向
user_id
其中添加字段或任何内容。