簡體   English   中英

致命錯誤:無法將PDO類型的對象用作數組

[英]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輸出變量的數據類型,內容和結構。

  1. 使用以下內容以可讀格式輸出內容。

     echo "<pre>"; print_r($variable); echo "</pre>"; die(); 
  2. 使用以下內容輸出具有數據類型和額外信息的內容

     echo "<pre>"; var_dump($this); echo "</pre>"; die(); 
  3. 記住諸如gettype()類的函數。

另外,根據您的進一步評論,我建議您首先閱讀一本書或該語言的在線課程。

關於下一個錯誤,請記住,在php中需要先定義變量,然后才能調用/使用它。

因此,在網上,您需要在其中調用$post['title']; 請記住首先確保已定義該變量並具有您要調用的index 還要使用上面的代碼片段進行驗證,如果未設置該索引,則應該編寫處理代碼。

就像是..

if(isset($post) && !empty($post) && isset($post['title'])) {
....

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM