嗨即時嘗試建立一個簡單的博客使用PHP PDO,但我有點卡住驗證/否則,因爲什麼曾經發生在無類凌亂的版本是它會說「這篇文章不存在」,但現在它只是顯示空框的頁面,所以我想知道如何添加if/else staements類使其工作,並顯示消息時,id不是在數據庫中匹配添加驗證/如果其他語句公共類功能PHP
public function fetch_data($pid){
try{
global $pdo;
$query = $pdo->prepare('SELECT * FROM post where post_id = ? order by post_date desc');
$query->BindValue(1,$pid);
$query->execute();
return $query->fetch();
}
catch(PDOException $e) {
echo '{"error":{"text":'. $e->getMessage() .'}}';
}
}
那的代碼和article.php頁面代碼的公共職能位:
<?php
include_once('functions/main.php');
$post = new Main;
$check = new Main;
$check_login = $check->logged_in();
if(isset($_GET['id'])){
$pid = $_GET['id'];
$post = $post->fetch_data($pid);
$query = $pdo->prepare("UPDATE post SET post_views = post_views + 1 WHERE post_id = ?");
$query->execute(array($pid));
?>
<html>
<head>
<title><?php echo $post['post_title'];?></title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
.customimage{
background: url('<?php echo $post['post_image'];?>') !important;
}
</style>
</head>
<body>
<div class="pusher">
<!-- Site content !-->
<div class="ui inverted vertical masthead center aligned segment purple customimage">
<div class="ui text">
<h1 class="ui inverted header">
<?php echo $post['post_title'];?></h1>
<br>
<div class="ui black inverted label"> <i class="calendar icon"></i><?php echo $post['post_date'];?></div><div class="ui black inverted label"><i class="user icon"></i> <?php echo $post['post_author'];?></div><div class="ui black inverted label"><i class="unhide icon"></i> <?php echo $post['post_views']?></div>
</div>
</div>
<div class="ui divider hidden"></div>
<div class="ui container">
<div class="ui segments">
<div class="ui segment purple">
<h1 class="ui header">
<div class="content">
<?php echo $post['post_title'];?>
</div>
</h1>
</div>
<div class="ui segment">
<?php echo $post['post_content'];?>
</div>
<div class="ui secondary segment">
<button class="ui labeled icon button">
<i class="left arrow icon"></i>
Return to Posts</button>
</div>
</div>
</div>
</div>
</body>
</html>
<?php
}else{
header('Location:index.php');
}
?>
我無法弄清楚如何使它在你去的時候?id = 876799然後它說這篇文章不存在,但目前它只是空白。
感謝所有幫助表示讚賞+這不是重複我找不到任何地方的任何答案!
哪裏的if/else問題? –
@devlincarnate @devlincarnate我一直在試圖把它們放進去,但我不知道在哪裏或如何做到這一點,所以我問專業人員,所以我可以學習未來,即時通訊非常非常新的PDO – Jack
不要像手工構建JSON 。如果你想回顯JSON,使用'echo json_encode(array('error'=> array('text'=> $ e-> getMessage())));' – Barmar