可重复使用的 PDO 查询函数到多维数组
Re-usable PDO query function to multidimansional array
我正在尝试为我输入的每个表名构建一个可重复使用的多维数组函数。
像大多数人一样,我用 ID 开始我的表,并想用那个 ID 启动数组,所以不要从 0 开始:)。 foneticly--> $my_array[id]["email"]
因此,为了构建它,我认为 "what do i need" 并发现:$count_colum
、$total_row
数据本身的来源。
我知道如何构建数组,但我不知道如何构建 "variable" 数组。
我也知道我不能在数组中使用 PHP :)(如果你告诉我,这会有所帮助)
$my_array = array( $row['id'] for ($i = 0; $i < $count_colum; $i++){...}
我也希望有人知道我的意思 :) 我对这一切有点陌生 ;)
这是我到目前为止得到的:
function make_MDA($tablename)
{
$dbh = new PDO("mysql:host='localhost';dbname='dbname', 'usr','pas'");
$query = $dbh->prepare("SELECT * FROM `".$tablename."`");
$query->execute();
$count_colum = $query->columnCount();
$result = $query->fetchAll();
$total_row = count($result);
for ($i = 0; $i < $count_colum; $i++)
{
$meta = $query->getColumnMeta($i);
$column[] = $meta['name'];
}
foreach ($result as $row)
{
$my_array = array( $row['id'] //this is where I'm stuck
}
// echo $column[3];
// echo $total_row;
// echo $count_colum;
}
这应该可行,不要使事情过于复杂:
function make_MDA($tablename)
{
$dbh = new PDO("mysql:host='localhost';dbname='dbname', 'usr','pas'");
$query = $dbh->prepare("SELECT * FROM `".$tablename."`");
$query->execute();
$result = $query->fetchAll();
foreach ($result as $row)
{
$id = $row['id'];
$my_array[$id] = $row;
}
return $my_array;
}
我会在这个函数之外连接到数据库$dbh
。
我正在尝试为我输入的每个表名构建一个可重复使用的多维数组函数。
像大多数人一样,我用 ID 开始我的表,并想用那个 ID 启动数组,所以不要从 0 开始:)。 foneticly--> $my_array[id]["email"]
因此,为了构建它,我认为 "what do i need" 并发现:$count_colum
、$total_row
数据本身的来源。
我知道如何构建数组,但我不知道如何构建 "variable" 数组。
我也知道我不能在数组中使用 PHP :)(如果你告诉我,这会有所帮助)
$my_array = array( $row['id'] for ($i = 0; $i < $count_colum; $i++){...}
我也希望有人知道我的意思 :) 我对这一切有点陌生 ;)
这是我到目前为止得到的:
function make_MDA($tablename)
{
$dbh = new PDO("mysql:host='localhost';dbname='dbname', 'usr','pas'");
$query = $dbh->prepare("SELECT * FROM `".$tablename."`");
$query->execute();
$count_colum = $query->columnCount();
$result = $query->fetchAll();
$total_row = count($result);
for ($i = 0; $i < $count_colum; $i++)
{
$meta = $query->getColumnMeta($i);
$column[] = $meta['name'];
}
foreach ($result as $row)
{
$my_array = array( $row['id'] //this is where I'm stuck
}
// echo $column[3];
// echo $total_row;
// echo $count_colum;
}
这应该可行,不要使事情过于复杂:
function make_MDA($tablename)
{
$dbh = new PDO("mysql:host='localhost';dbname='dbname', 'usr','pas'");
$query = $dbh->prepare("SELECT * FROM `".$tablename."`");
$query->execute();
$result = $query->fetchAll();
foreach ($result as $row)
{
$id = $row['id'];
$my_array[$id] = $row;
}
return $my_array;
}
我会在这个函数之外连接到数据库$dbh
。