我上了简单的课,以使我在学校的工作更快。 有一个功能:
function selectWhere($what, $from, $where) {
$sql = "SELECT ".$what." FROM ".$from." WHERE ".$where;
if($result = $this->conn->query($sql)) {
if($result->num_rows > 0) {
$a = Array();
if(strpos($what, ", ")) {
$exp = explode(", ", $what);
while($r = $result->fetch_assoc()) {
foreach ($exp as $key => $val) {
$a[] = $r[$val];
}
}
return $a;
}
else {
while($r = $result->fetch_assoc()) {
$a[] = $r[$what];
}
return $a;
}
}
}
else {
return "Błędne zapytanie.";
}
}
在我要选择多个列之前,它的效果很好。这段代码的输出基本上如下:
Array ( [0] => LeviPlayGames [1] => leviplaygames [2] => TestUser [3] => testuser )
这是选择名称和实名列的结果。现在使用代码强制我使用多维数组,因此所需的输出将像:
Array ( [0] => Array ( [0] => LeviPlayGames [1] => leviplaygames ) [1] => Array ( [0] => TestUser [1] => testuser ) )
所以结果将被分开,但是我找不到如何连接数组中的两个(或更多)列的方法。据我所知,我必须更改我的foreach,但是我不知道该怎么做。
答案 0 :(得分:0)
你快到了。
$a[$key][] = $r[$val];
代替:
$a[] = $r[$val];
应该是将结果插入适当的子数组并获得所需输出的全部。