【问题标题】:PDO Select StatementPDO 选择语句
【发布时间】:2013-05-13 10:19:38
【问题描述】:

希望有人能给我一些帮助...我正在使用 PDO 从数据库中获取一些数据,但是每次脚本运行时它都会返回没有错误但不会显示所需的数据,我知道我正在寻找的数据也在那里..任何帮助将不胜感激,这是我目前所拥有的,谢谢。

$db = new PDO('sqlite:C:\\xampp\\htdocs\\Utils\\PDF_Utils\\PDF2Word\\details.sqlite');

    echo "<table border=1>";
    echo "<tr><td>FileID</td>
              <td>File Name</td>
              <td>Email From</td>
              <td>CC</td> <td>Subject</td>
              <td>File Size</td></tr>";


              $contents = $db->prepare("SELECT * FROM details WHERE fileName = 
                         '$yourFileName'");
              $contents->execute();

                   foreach($contents as $row) {
                        echo "<tr><td>" . $row['FileID'] . "</td>";
                        echo "<td>" . $row['fileName'] . "</td>";
                        echo "<td>" . $row['emailFrom'] . "</td>";
                        echo "<td>" . $row['CC'] . "</td>";
                        echo "<td>" . $row['subject'] . "</td>";
                        echo "<td>" . $row['fileSize'] . "</td></tr>";
                    }
                    echo "</table>";

【问题讨论】:

    标签: php pdo


    【解决方案1】:
    $stmt = $db->prepare("SELECT * FROM details WHERE fileName = ?"); 
    $stmt->execute(array($yourFileName));
    $contents = $stmt->fetchAll();
    

    其他都一样

    【讨论】:

    • 1.它不一样。 2.有非空白屏幕你必须setup your PDO and PHP properly
    • 现在已修复,无论如何感谢您的帮助,但以不同的方式完成了。
    【解决方案2】:

    在 $yourFileName 周围加上括号作为 {$yourFileName}

    【讨论】:

      【解决方案3】:

      在准备语句时使用占位符,然后执行传递参数的查询,如下所示:

      $contents = $db->prepare("SELECT * FROM details WHERE fileName = ?");
      $contents->execute(array($yourFileName));
      

      然后使用 FETCH_ASSOC 获取结果:

      while($row = $contents->fetch(PDO::FETCH_ASSOC)){
           //your code here;
      }
      

      【讨论】:

      • 应该是array($yourFileName)
      • @hjpotter92 错过了。固定。
      • @DanielMorgan 你确定你的数据库和表没问题并且没有错误吗?
      • 是的,我非常确定,因为我正在创建一个系统,以便如果用户将带有 .pdf 附件的电子邮件发送到特定的电子邮件地址,它将存储该电子邮件的详细信息在 sqlite 数据库中,我知道它正在存储,因为它在第一页上显示了详细信息,但在第二页上没有...
      • @DanielMorgan 您的代码的表名和字段名实际上是否与您的数据库的表名和字段名的大小写匹配(大写/小写)?
      猜你喜欢
      • 1970-01-01
      • 2012-12-15
      • 1970-01-01
      • 2011-11-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多