我在查詢我的數據庫,並且希望編寫一個foreach循環,它會通過我的結果集,並在時間戳上運行strtotime
,以便在我的網頁(我想調整數組[[發佈]]值到strtotime(array [「posted」])。用PDO :: FETCH_ASSOC提供的foreach循環,提供的參數無效
我是PHP和PDO的新手,無法弄清楚我的foreach循環出了什麼問題。我得到的警告是Warning: Invalid argument supplied for foreach() in /home/shooshte/Dropbox/PTC_php/db_queries/articles.php on line 29
。
我想我瞄準$result
陣列錯了嗎?誰能解釋如何解決這個問題呢?時間戳列名爲posted
,這也是我的數組中的關鍵。
感謝您的幫助。
我的PHP:
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
try {
$hostname = "localhost";
$username = "root";
$password = "";
$db = new PDO("mysql:host=$hostname;dbname=topdecka_PTC",$username, $password);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
if (!empty($_POST["searchword"])) {
$searchword = $_POST["searchword"];
$query = $db->prepare("SELECT title, posted, author_id, extract FROM articles WHERE title LIKE :searchword OR extract LIKE :searchword OR body LIKE :searchword");
$query->execute(array(":searchword" => "%" . $searchword . "%"));
$result = $query->fetchAll();
echo json_encode($result);
die();
}
else {
$query = $db->prepare('SELECT posted FROM articles');
$query->execute();
$result = $query->fetchAll();
foreach($result as $row) {
$row['posted'] = strtotime($row['posted']);
}
echo '<pre>';
var_dump($result);
echo '</pre>';
//echo json_encode($result);
die();
}
}
catch (PDOException $e) {
echo "Error!: " . $e->getMessage() . "<br/>";
die();
}
?>
這裏是var_dump
:
array(2) {
[0]=>
array(2) {
["posted"]=>
string(19) "2015-06-10 11:16:46"
[0]=>
string(19) "2015-06-10 11:16:46"
}
[1]=>
array(2) {
["posted"]=>
string(19) "2015-06-10 13:26:54"
[0]=>
string(19) "2015-06-10 13:26:54"
}
}
什麼呢'的var_dump($結果);'顯示? – honerlawd
@honerlawd添加了var_dump的帖子 –