php pdo查询为数组,php – PDO fetchAll数组到一维
时间: 2024-05-02 11:17:38 浏览: 9
在使用PDO查询后,可以使用fetchAll()函数将结果以数组形式返回。如果你想将结果转换为一维数组,可以使用array_column()函数。以下是示例代码:
```php
$stmt = $pdo->query("SELECT name FROM users");
$results = $stmt->fetchAll(PDO::FETCH_ASSOC);
$names = array_column($results, 'name');
print_r($names);
```
这将输出一个一维数组,其中包含查询结果中所有用户名。请注意,使用array_column()函数需要在查询时指定FETCH_ASSOC模式,以确保结果以关联数组形式返回。
相关问题
phppdo模糊查询页面,带搜索框
下面是一个使用PDO进行模糊查询的页面示例,包含搜索框:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>模糊查询页面</title>
</head>
<body>
<h1>模糊查询页面</h1>
<form action="" method="get">
<label for="search">搜索关键词:</label>
<input type="text" name="search" id="search" value="<?php echo isset($_GET['search']) ? $_GET['search'] : ''; ?>">
<input type="submit" value="搜索">
</form>
<?php
if (isset($_GET['search'])) {
$search = $_GET['search'];
$db = new PDO('mysql:host=localhost;dbname=mydb;charset=utf8', 'username', 'password');
$stmt = $db->prepare("SELECT * FROM mytable WHERE mycolumn LIKE :search");
$stmt->execute(array(':search' => '%'.$search.'%'));
$results = $stmt->fetchAll(PDO::FETCH_ASSOC);
if (count($results) > 0) {
echo '<ul>';
foreach ($results as $row) {
echo '<li>'.$row['mycolumn'].'</li>';
}
echo '</ul>';
} else {
echo '<p>没有找到匹配的数据。</p>';
}
}
?>
</body>
</html>
```
在上述代码中,使用`<form>`标签创建一个搜索表单,其中`<input>`标签的`name`属性设置为`search`,用于获取用户输入的搜索关键词。在PHP代码中,首先判断是否有`search`参数传递,如果有,则进行模糊查询,并输出查询结果。如果没有,则不进行查询。最后,将查询结果输出到页面上,使用`<ul>`和`<li>`标签创建一个无序列表展示查询结果。
php将数据库查询结果转换为数组
在 PHP 中,可以使用 mysql_fetch_array 函数将数据库查询结果转换为数组。
语法:
```
mysql_fetch_array(result, result_type);
```
其中,result 为查询结果集,result_type 可以是 MYSQL_ASSOC、MYSQL_NUM 或 MYSQL_BOTH,分别表示返回关联数组、索引数组或两者都返回。
示例:
```
$result = mysql_query("SELECT * FROM tablename");
while($row = mysql_fetch_array($result))
{
$rows[] = $row;
}
```
或者
```
$result = mysql_query("SELECT * FROM tablename");
$rows = mysql_fetch_all($result,MYSQL_ASSOC);
```
这是 mysql 的查询,不推荐使用,推荐使用 mysqli 或者 PDO 查询。