我试图做的是,如果我表中的一个字段[连接已经包含在,由配置文件。是的,这行得通],如果一个字段是某个单词,它将显示一段代码。
<?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>";
}
?>