0

我知道这可能很简单,但过去几天我已经搜索了几个小时,我已经准备好跳出我的一层楼了。

  1. 有一个用于测试的基本站点,上面除了打开/关闭 html 标记之外什么都没有。
  2. 数据库中的一个非常基本的表,使用 phpmyadmin 访问它。
  3. 试图让表格内容显示在基本网站上。

在 php 中使用 mysqli_ 或 mysql_ 样式访问数据有一段时间没有运气.. 一直在阅读 PDO 并找到了许多关于如何使用它的教程。我觉得我正在尝试做的事情应该如此简单,但我尝试将我在这个网站和其他教程上找到的内容复制到 T 并且该网站仍然没有显示数据。

try {
    $conn = new PDO("mysql:host=$hostname; dbname=$userdb", $username, $password);
    $conn->exec("SET CHARACTER SET utf8");

    $sql = "SELECT * FROM Monday";
    $result = $conn->query($sql);


    while($row = $result->fetchAll(PDO::FETCH_ASSOC)) {
        echo $row['Name'] . '<br />';
        }

    $conn = null;

    }

    catch(PDOException $e) {
        echo $e->getMessage();
        }

基本上,网站将在第一个 -> 之后显示所有内容,在这种情况下,在 $conn-> 之后,但没有实际的表数据。

我至少从众多网站尝试了大约 50 种不同的方法,但我想我现在迷路了..

旁注:我在同一个站点上确实有 php 表单,当成功提交时将数据插入表中,所以我知道我能够连接到数据库和表和 INSERT,这只是我无法获得的 SELECT 问题。

谢谢你的帮助

编辑:添加 fetchAll

4

2 回答 2

2

您正在fetch()循环中使用该方法,该方法仅获取结果的下一行。替换它,fetchAll()它应该可以工作。

有关该fetchAll()方法的更多信息:http: //php.net/manual/en/pdostatement.fetchall.php

出于测试目的,您可以将 PDO 错误模式设置为PDO::ERRMODE_EXCEPTION. 请参阅: http: //php.net/manual/en/pdo.error-handling.php

于 2013-06-19T17:31:41.157 回答
0
while($row = $result->fetch(PDO::FETCH_ASSOC)) {

应该;

while($row = $result->fetchAll(PDO::FETCH_ASSOC)) {
于 2013-06-19T17:33:09.117 回答