![](/img/trans.png)
[英]PDO Fatal error: Cannot use object of type PDOException as array
[英]Fatal error: Cannot use object of type PDO as array
这是错误日志
致命错误:无法在第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';
尝试使用$conn
代替$conn[0]
。
对于将来的问题,请始终记住可以在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'])) {
....
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.