2

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

<?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>";
    }



   ?>
4

3 回答 3

1

如果我正确地遵循了您的代码,我认为您在准备语句中的 page_header 之前缺少“:”。

于 2013-11-07T09:57:50.420 回答
1

你必须做这样的事情:

$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

于 2013-11-07T09:57:04.460 回答
1

这段代码应该完成任务

  <?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>";
    }



   ?>
于 2013-11-07T10:05:45.943 回答