PDO IF page_header = 图像显示代码


PDO IF page_header = image show code

我试图做的是,如果我表中的一个字段[连接已经包含在,由配置文件。是的,这行得通],如果一个字段是某个单词,它将显示一段代码。

<?php
$q = $dbh -> prepare("SELECT * FROM pages_extra WHERE name='page_header'");
 $q -> execute(array($_POST['page_header']));
  if ($page_header == 'image') {
            echo "<center><img src='http://www.freefever.com/stock/animal-abstract-art-wallpaper-hd.jpg' class='img_round' height='500px' width='500px'></center>";
        }
        ?>

编辑:

<?php
  $q = $dbh -> prepare("SELECT * FROM pages_extra WHERE name=:page_header");
  $q -> execute(array(':page_header' => $_POST['page_header']));
    $data_array = $q->fetch();
    if ($data_array[0] == 'image') { // what ever your index contains image field
        echo "<center><img src='http://www.freefever.com/stock/animal-abstract-art-wallpaper-hd.jpg' class='img_round' height='500px' width='500px'></center>";
    }

   ?>

你必须做这样的事情:

$data = $q->fetchAll();

$data现在包含一个关联数组数组,其中包含数据库中的值。

$data[0]["page_header"];

将是第一个结果行中的page_header。

更新:如果你想使用预准备语句,你的查询应该看起来像这样:

SELECT * FROM pages_extra WHERE name= :page_header

使用您的阵列:array("page_header" => $_POST['page_header'])

欲了解更多信息,请查看优秀的手册:http://www.php.net/manual/en/pdo.prepare.php

如果我

正确遵循您的代码,我认为您在 prepare 语句中page_header之前缺少":"。

这段代码应该完成任务

  <?php
  $q = $dbh -> prepare("SELECT * FROM pages_extra WHERE name=:page_header");
  $q -> execute(array(':page_header' => $_POST['page_header']));
    $data_array = $q->fetch();
    if ($data_array[0] == 'image') { // what ever your index contains image field
        echo "<center><img src='http://www.freefever.com/stock/animal-abstract-art-wallpaper-hd.jpg' class='img_round' height='500px' width='500px'></center>";
    }

   ?>