-3

重複の可能性:
警告: mysql_num_rows() は、パラメーター 1 がリソースであると想定しています。

フォーラム システムを稼働させようとしていますが、次のエラーが発生し続けます。

警告: mysql_num_rows() は、パラメーター 1 がリソースであると想定しており、26 行目にブール値が指定されています

ほとんどのコードは、1 つのエラーだけを通過します。ここに私の完全なコードがあります:

<?php
include_once "../ads/connect_to_mysql.php";//Connect to Database

//Get section ID from the url varible coming in
if(isset($_GET['id'])&&$_GET[id]!=""){
    $sid=preg_replace('#[^0-9]#i','',$_GET['id']); //filter all characters except
}else{
    echo "ERROR: Variables to run this script have been removed from the URL";
    exit();
}
//Query the database for that section id, make sure it exists and get section title
$sql=mysql_query("SELECT*From ad_sections WHERE id='$sid' LIMIT 1");
$numRows=mysql_num_rows($sql);
if($numRows<1){
    echo "ERROR: That section does not exist, you have tampered with our URLs.";
    exit();

}
while($row=mysql_fetch_array($sql)){
    $sectionTitle=$row["title"];

}
//Use the section ID to query a "ad_posts" table in the database to get all the threads for this section
$sql=mysql_query("SELECT*From ad_sections WHERE type='a'AND section_id='$sid' ORDER BY date_time DESC LIMIT 25");  
$dynamicList="";
$numRows=mysql_num_rows($sql);
if($numRows<1){
    $dynamicList="There are no classifieds in this section yet. You can be the first to post.";
}else{
    while($row=mysql_fetch_array($sql)){
    $thread_id=$row["id"];
    $thread_Title=$row["thread_title"];
    $dynamicList.='<a href="view_thread.php?id=' . $thread_id . '">' . $thread_Title . '</a><br/>';
    }
}
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html, charset=utf-8"/>
<title><?php echo "title"; ?></title>
<style>
</style>
</head>
<body>
<table style="bacground-color: #f0f0f0; border:#069 1px solid; border-top:none; width="900">
<tr>
<td width="731"><h2><?php echo $sectionTitle; ?><h2><?php echo $dynamicList; ?></td>
<td width="189">&nbsp;</td>
</tr>
</table>
</body>
</html>

これが 26 行目です。実際に壁にぶつかっただけです。

$numRows=mysql_num_rows($sql);
4

2 に答える 2

0

それはあなた$sqlがエラーを起こしていることについてです

これを試して

    $sql=mysql_query("SELECT * From ad_sections WHERE id='$sid' LIMIT 1");
                            ^-^-----spaces here
于 2013-01-05T22:04:01.103 に答える
0

マニュアルを読む:

mysql_query() は、成功するとリソースを返し、エラーの場合は FALSE を返します。

...

mysql_query() は、クエリによって参照されるテーブルにアクセスする権限がユーザーにない場合にも失敗し、FALSE を返します。

于 2013-01-05T21:55:16.143 に答える