我想请求有关如何将下面的代码转换为PDO类型的帮助,尤其是mysql_fetch_array。我可以使用此代码使其正常工作,但我想转换为PDO。
<?php
$query = "SELECT * from name";
$result = mysql_query($query);
$cols = 6;
echo "<table>";
do {
echo "<tr>";
for ($i = 1; $i <= $cols; $i++) {
$row = mysql_fetch_array($result);
if ($row) {
$name = $row['fname'];
?>
<td>
<table>
<tr valign="top">
<td>
<?php echo '<input type="checkbox" name="name[]" id="name[]" value="' . $name . '"/>' . $name . "\n"; ?>
</td>
<td width="30"> </td>
</tr>
</table>
</td>
<?php
} else {
echo "<td> </td>";
}
}
} while ($row);
echo "</table>";
?>
答案 0 :(得分:7)
首先,您可以在http://php.net/pdo了解更多信息。
$dsn = 'mysql:dbname=testdb;host=127.0.0.1';
$user = 'dbuser';
$password = 'dbpass';
try {
$dbh = new PDO($dsn, $user, $password);
} catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
}
$query = "SELECT * from name";
$stmt = $dbh->prepare($query);
$stmt->execute();
// Start your html col/row setup
// Loop through your cols
$row = $stmt->fetch(PDO::FETCH_ASSOC);
对于您的示例,没有必要“准备”,但是当您开始向查询传递值时,这是一个很好的做法。