ループ内でエラーが見つかりません...助けてください
foreach($cat1 as $category){
$query="SELECT parent FROM categories where id=".$category;
$result = mysql_query($query);
$line = mysql_fetch_assoc($result);
array_push($cat1,$line['parent']);
}
エラーは、空の結果セットまたはクエリのエラーが原因です。
デバッグするには、次の手順を使用してください。
echo $query
最初に(すべてのパラメータが存在するかどうかを確認してください)Write mysql_query($query)
またdie(mysql_error());
これにより、mysql エラーがあれば表示されます。
フェッチする前に、$result
resource で動作することを確認する必要があります。また、クエリからの行が本当にあるかどうかを確認してくださいmysql_num_rows
。
foreach($cat1 as $category){
$query="SELECT parent FROM categories where id=".$category;
$result = mysql_query($query);
// Check result
// This shows the actual query sent to MySQL, and the error. Useful for debugging.
if (!$result) {
$message = 'Invalid query: ' . mysql_error() . "\n";
$message .= 'Whole query: ' . $query;
die($message);
}
if(mysql_num_rows($result) > 0) {
$line = mysql_fetch_assoc($result);
array_push($cat1,$line['parent']);
}
else {
// do something else
}
}
また、次を実行して、クエリのデバッグを試みます。
SELECT parent FROM categories where id=3
または有効な値 ID を後に挿入しますid=
また、選択されているフィールドはparent
INT または VARCHAR ですか? (私の推測では、提供されたエラーに基づいて文字列です)