如何在 PHP PDO 中制作与密钥对相同的数组值?
How to make same array values as key pair in PHP PDO?
我正在使用 PHP PDO 从我的数据库 table 中获取选项。
public function fetch_custom_options($type){
$sql = "SELECT option_id, option_name,option_value,type,position FROM ts_options WHERE type=:type";
$stmt = $this->dbConnection->prepare($sql);
$stmt->bindParam(":type", $type, PDO::PARAM_STR);
$stmt->execute();
$rows = $stmt->fetchAll();
return $rows;
}
如您在查询中所见,我在同一个 table 中有两列,如 option_name 和 option_value。
我想将每个 option_name 作为键,将每个 option_value 作为值,并将它存储在一个 array() 中,就像这样 -
public function fetch_custom_options($type){
$sql = "SELECT option_id, option_name,option_value,type,position FROM ts_options WHERE type=:type";
$stmt = $this->dbConnection->prepare($sql);
$stmt->bindParam(":type", $type, PDO::PARAM_STR);
$stmt->execute();
$rows = $stmt->fetchAll();
$custom=array();
foreach($rows as $row){
$custom[] = array($row['option_name']=>$row['option_value']);
}
return $custom;
}
当我使用 option_name
值访问自定义数组值时,它会给我 undefine -
$rows= $getFromPostClass->fetch_custom_options('ad');
foreach($rows as $row)
{
$header_index=$row['header_index'];
}
echo $header_index;
header_index
是一个option_name
,它作为键存储在第二个数组中。
Notice: Undefined index: header_index in
我的 table 中有很多价值观,例如 -
option_name , option_value ,type
header_index, 12344 , ad
below_title , 348478 , ad
below_content , 77676 , ad
我不确定,但我详细说明了。
我想使用 foreach()
循环将 option_name
值存储为键,将 option_value
值存储为数组中的值 -
我会使用名称访问数组值并获取值 -
喜欢 -
回声$行['header_index'];
应显示同一行的option_value。
您应该创建关联数组,而不是二维数组。
public function fetch_custom_options($type){
$sql = "SELECT option_id, option_name,option_value,type,position FROM ts_options WHERE type=:type";
$stmt = $this->dbConnection->prepare($sql);
$stmt->bindParam(":type", $type, PDO::PARAM_STR);
$stmt->execute();
$rows = $stmt->fetchAll();
$custom=array();
foreach($rows as $row){
$custom[$row['option_name']]=>$row['option_value']);
}
return $custom;
}
$options= $getFromPostClass->fetch_custom_options('ad');
$headers = $options['header_index'];
我正在使用 PHP PDO 从我的数据库 table 中获取选项。
public function fetch_custom_options($type){
$sql = "SELECT option_id, option_name,option_value,type,position FROM ts_options WHERE type=:type";
$stmt = $this->dbConnection->prepare($sql);
$stmt->bindParam(":type", $type, PDO::PARAM_STR);
$stmt->execute();
$rows = $stmt->fetchAll();
return $rows;
}
如您在查询中所见,我在同一个 table 中有两列,如 option_name 和 option_value。 我想将每个 option_name 作为键,将每个 option_value 作为值,并将它存储在一个 array() 中,就像这样 -
public function fetch_custom_options($type){
$sql = "SELECT option_id, option_name,option_value,type,position FROM ts_options WHERE type=:type";
$stmt = $this->dbConnection->prepare($sql);
$stmt->bindParam(":type", $type, PDO::PARAM_STR);
$stmt->execute();
$rows = $stmt->fetchAll();
$custom=array();
foreach($rows as $row){
$custom[] = array($row['option_name']=>$row['option_value']);
}
return $custom;
}
当我使用 option_name
值访问自定义数组值时,它会给我 undefine -
$rows= $getFromPostClass->fetch_custom_options('ad');
foreach($rows as $row)
{
$header_index=$row['header_index'];
}
echo $header_index;
header_index
是一个option_name
,它作为键存储在第二个数组中。
Notice: Undefined index: header_index in
我的 table 中有很多价值观,例如 -
option_name , option_value ,type
header_index, 12344 , ad
below_title , 348478 , ad
below_content , 77676 , ad
我不确定,但我详细说明了。
我想使用 foreach()
循环将 option_name
值存储为键,将 option_value
值存储为数组中的值 -
我会使用名称访问数组值并获取值 -
喜欢 -
回声$行['header_index'];
应显示同一行的option_value。
您应该创建关联数组,而不是二维数组。
public function fetch_custom_options($type){
$sql = "SELECT option_id, option_name,option_value,type,position FROM ts_options WHERE type=:type";
$stmt = $this->dbConnection->prepare($sql);
$stmt->bindParam(":type", $type, PDO::PARAM_STR);
$stmt->execute();
$rows = $stmt->fetchAll();
$custom=array();
foreach($rows as $row){
$custom[$row['option_name']]=>$row['option_value']);
}
return $custom;
}
$options= $getFromPostClass->fetch_custom_options('ad');
$headers = $options['header_index'];