转换为PDO类型mysql_fetch_array

时间:2011-11-03 06:10:52

标签: php mysql

我想请求有关如何将下面的代码转换为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">&nbsp;</td>   
                    </tr>
                    </table>
                    </td>
    <?php
            } else {
                echo "<td>&nbsp;</td>";
            }
        }
    } while ($row);
    echo "</table>";
    ?>

1 个答案:

答案 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);

对于您的示例,没有必要“准备”,但是当您开始向查询传递值时,这是一个很好的做法。