重複の可能性:
警告: mysql_fetch_* はパラメーター 1 がリソースであると想定し、ブール値のエラーが発生しました
データベースとしてMySQLを使用してPHPでプロジェクトを行っています。
これは私のコードスニペットです。
$query = "SELECT * FROM FEED_DETAILS";
$result = mysql_db_query (DB_NAME, $query, $conn);
while($row = **mysql_fetch_assoc($result)**)
{
// Things i need to execute....
}
は、DB_NAME
以前に私が定義したものです。
これは以前は私のために働いていました。しかし、今回は次のエラーが発生しています
<b>Warning</b>: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in <b>C:\xampp\htdocs\My_Rss\classes\RSS.class.php</b> on line <b>28</b><br />
私が使用している唯一のパラメーターは $result です。php.net
PHPでのデータベースクエリに関連するドキュメントのウェブサイトをチェックしました。mysql_query
私は基本的なものも試しましたmysql_fetch_array
。
去年PHPを勉強していた時に作ったプログラムは全て同じエラーが出ます。彼らは皆、以前は働いていました。今回、彼らは仕事をやめました。
注意
- XAMPP の最新バージョン (つまり 1.7.7) を使用しています。
- PHP 5.3.8 を使用しています。
- 数日前に phpmyadmin のバージョンを 3.4.10.2 にアップグレードしました。
- 残りはデフォルトの XAMPP 1.7.7 設定です。
PHP 5.3 に大きな変更があり、問題が発生していると聞きました。これが問題なのですか。コードのエラーを特定できないからです。
これはindex.php
<?
header("Content-Type: application/xml; charset=ISO-8859-1");
include("classes/RSS.class.php");
$rss = new RSS();
echo $rss->GetFeed();
?>
そしてこれはRSS.class.php
class RSS
{
public function __construct()
{
require_once ('./classes/mysql_connect.php');
}
public function GetFeed()
{
return $this->getDetails() . $this->getItems();
}
private function dbConnect()
{
//DEFINE ('LINK', mysql_connect (DB_HOST, DB_USER, DB_PASSWORD));
}
private function getDetails()
{
$detailsTable = "webref_rss_details";
$this->dbConnect($detailsTable);
$query = "SELECT * FROM FEED_DETAILS";
$result = mysql_query ($query) or trigger_error(mysql_error()." ".$query);
while($row = mysql_fetch_assoc($result))
{
$details = '<?xml version="1.0" encoding="ISO-8859-1" ?>
<rss version="2.0">
<channel>
<title>'. $row['title'] .'</title>
<link>'. $row['link'] .'</link>
<description>'. $row['description'] .'</description>
<language>'. $row['language'] .'</language>
<image>
<title>'. $row['image_title'] .'</title>
<url>'. $row['image_url'] .'</url>
<link>'. $row['image_link'] .'</link>
<width>'. $row['image_width'] .'</width>
<height>'. $row['image_height'] .'</height>
</image>';
}
return $details;
}
private function getItems()
{
$itemsTable = "webref_rss_items";
$this->dbConnect($itemsTable);
$query = "SELECT * FROM FEED_ITEMS";
$result = mysql_query ($query) or trigger_error(mysql_error()." ".$query);
//print_r($result);
//$row = mysql_fetch_assoc($result);
//print_r($row);
$items = '';
while($row = mysql_fetch_array($result))
{
$items .= '<item>
<title>'. $row["title"] .'</title>
<link>'. $row["link"] .'</link>
<description><![CDATA['. $row["description"] .']]></description>
</item>';
}
$items .= '</channel>
</rss>';
return $items;
}
}