📅  最后修改于: 2023-12-03 15:24:01.429000             🧑  作者: Mango
在 PHP 中使用 PDO 与数据库交互时,有很多种方式可以获取数据库中的数据,其中一种方式是使用循环获取。
以下步骤将演示如何使用循环从 PHP PDO 中的数据库中获取数据:
$host = 'localhost';
$dbname = 'mydatabase';
$username = 'myusername';
$password = 'mypassword';
try {
$dbh = new PDO("mysql:host=$host;dbname=$dbname", $username, $password);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
echo "Error: " . $e->getMessage();
}
其中,$host 是数据库的主机名,$dbname 是要连接的数据库名,$username 和 $password 是连接数据库所需的用户名和密码。PDO 的 setAttribute() 方法设置 PDO 属性。
$sql = 'SELECT * FROM mytable';
$sth = $dbh->prepare($sql);
$sth->execute();
其中,$sql 是要执行的 SQL 查询语句,$sth 是 PDO 的 prepare() 方法准备的语句句柄。execute() 方法执行查询。
while ($row = $sth->fetch(PDO::FETCH_ASSOC)) {
// 处理每一行数据
}
其中,$row 是当前行数据的数组,使用 PDO 的 fetch() 方法获取。这里使用 PDO::FETCH_ASSOC 选项将每一行数据转换为关联数组。
while ($row = $sth->fetch(PDO::FETCH_ASSOC)) {
echo $row['column1'] . "\n";
echo $row['column2'] . "\n";
// 处理其他列
}
这里假设有列名为 column1 和 column2 的列,输出每一行的 column1 和 column2 的值。
完整代码如下:
$host = 'localhost';
$dbname = 'mydatabase';
$username = 'myusername';
$password = 'mypassword';
try {
$dbh = new PDO("mysql:host=$host;dbname=$dbname", $username, $password);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = 'SELECT * FROM mytable';
$sth = $dbh->prepare($sql);
$sth->execute();
while ($row = $sth->fetch(PDO::FETCH_ASSOC)) {
echo $row['column1'] . "\n";
echo $row['column2'] . "\n";
// 处理其他列
}
} catch (PDOException $e) {
echo "Error: " . $e->getMessage();
}
完成以上步骤后,就可以使用循环从 PHP PDO 中的数据库中获取数据了。