Php PDO返回数组('value1','value2')
Im使用select sql语句PDO FETCHTDATAPhp PDO返回数组('value1','value2'),php,mysql,arrays,pdo,Php,Mysql,Arrays,Pdo,Im使用select sql语句PDO FETCHTDATA $user = 'admin'; sql = 'SELECT AccessPage FROM accessrights where UserName = '$user''; 在数据库中,结果如下所示: ----------- Access Page ----------- - index + create - update 我将它存储在变量$result中 如何将$result格式设置为这样的数组 $result = a
$user = 'admin';
sql = 'SELECT AccessPage FROM accessrights where UserName = '$user'';
在数据库中,结果如下所示:
-----------
Access Page
-----------
- index
+ create
- update
我将它存储在变量$result中
如何将$result格式设置为这样的数组
$result = array('index','create','update');
另一个问题,
我在函数中使用了代码:但是当我使用var_dump时,它会重新运行一个array0{}值
以下是我的功能:
$user = CHtml::encode(Yii::app()->user->name);
$connectionString[0] = Yii::app()->params['dbhandler2'];
$dbhandler3 = new DBHandler($connectionString[0]);
$dbhandler3->open();
$dbhandler3->prepare("SELECT AccessPage FROM accessrights where UserName ='$user'");
$dbhandler3->execute();
$this->result2 = $dbhandler3->fetchAllData();
$dbhandler3->close();
$yourarrayname = array();
while ($row = $dbhandler3->fetchAllData()) {
$yourarrayname[] = $row['AccessPage'];
}
$this->access = $yourarrayname;
我假设index、create和update是列值,您希望它们位于普通数组中。默认情况下,将结果存储为整数键和列名键。您希望将fetchmode设置为整数键:$stmt->setFetchModePDO::FETCH_NUM或$stmt->fetchPDO::FETCH_NUM。http://php.net/manual/en/pdostatement.fetch.php使用以下代码
$user = 'admin';
$sql = "SELECT AccessPage FROM accessrights where UserName = '$user'";
$sth = $dbh->prepare($sql);
$sth->execute();
/* Fetch all of the values of the first column */
$result = $sth->fetchAll(PDO::FETCH_COLUMN, 0);
print_r($result); // the $result will be array array('index','create','update');
首先,我假设您只有一列访问页面 在该列中,您已经保存了三行索引、创建和更新。搜索用户$user的Accesspage值时。这将返回分配给$user的值
$user = 'admin';
$sql = 'SELECT AccessPage FROM accessrights where UserName = '$user'';
$sth = $dbh->prepare($sql);
$sth->execute();
$result = $sth->fetch(PDO::FETCH_ASSOC);
print_r($result);
现在,这个$result是一个键为“AccessPage”的关联数组
如果你想制作一个数组,那么你应该这样做
$yourarrayname=array();
while ($row = $sth->fetch(PDO::FETCH_ASSOC))
{
$yourarrayname[]= $row['AccessPage'] ;
}
print_r($yourarrayname);
你们应该使用事先准备好的陈述。总是接受答案,从stackoverflowers那里得到巨大的帮助!哦,我尝试了你上次给我的代码,但它只返回一个空数组,我在topWOw编辑了我的代码,我使用了这段代码,效果很好,谢谢