这是错误日志
致命错误:无法在第13行的/Applications/XAMPP/xamppfiles/htdocs/php/blog/single.php中使用PDO类型的对象
这是13号线
$post = DB\query('SELECT * FROM posts WHERE id = :id LIMIT 1', array('id' => $_GET['id']), $conn [0] );
当我尝试获得帖子标题时出现此错误。
<?= $post['title'];?>
完整代码
<?php
require 'functions.php';
use blog\DB;
// Connect to the DB
$conn = DB\connect($config);
if( !$conn ) die('Problem Connecting to the DB');
// Fetch all the posts
$post = DB\query('SELECT * FROM posts WHERE id = :id LIMIT 1', array('id' => $_GET['id']), $conn [0] );
// Filter throgh and display in the view
$view_path = 'views/single.view.php';
include 'views/layout.php';
答案 0 :(得分:0)
而不是$conn[0]
,请尝试使用$conn
。
对于未来的问题,请始终记住您可以在php
中输出变量的数据类型,内容和结构。
使用以下内容以人类可读的格式输出内容。
echo "<pre>";
print_r($variable);
echo "</pre>";
die();
使用以下内容输出包含数据类型和额外信息的内容
echo "<pre>";
var_dump($this);
echo "</pre>";
die();
gettype()
等功能同样基于您的进一步评论,我建议您先购买一本书或该语言的在线课程。
关于您的下一个错误,请记住在php
中,需要先定义变量,然后才能调用/使用它。
所以在线上,您关注的是$post['title'];
,请记住首先确保该变量已定义且具有 index
你打算打电话。还可以使用上面的代码片段进行验证,如果未设置索引,则应编写处理代码。
类似......
if(isset($post) && !empty($post) && isset($post['title'])) {
....