-2

重複の可能性:
PHPエラー:mysql_fetch_array()はパラメーター1がリソースであると想定しており、ブール値が指定されています

スクリプトを実行すると、これらのエラーが引き続き発生します。現在、必要なphpが何も表示されないため、修正が必要なものがわかりません。

これが私が受け取っているエラーです。

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in    /Applications/XAMPP/xamppfiles/htdocs/WordOfMouth/root/pages/profile_page/profile_page.php on line 38

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in /Applications/XAMPP/xamppfiles/htdocs/WordOfMouth/root/pages/profile_page/profile_page.php on line 44

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in  /Applications/XAMPP/xamppfiles/htdocs/WordOfMouth/root/pages/profile_page/profile_page.php on line 136

どんな助けでも信じられないでしょう。

<?php
include_once("../../mysql_server/checkuserlog.php");
?>
<?php 
// Now let's initialize vars to be printed to page in the HTML section so our script does not return errors 
// they must be initialized in some server environments
$id = "";
$firstname = "";
$middlename = "";
$lastname = "";
$country = "";  
$state = "";
$city = "";
$zip = "";
$bio_body = "";
$bio_body = "";
$user_pic = "";
$blabberDisplayList = "";
// If coming from category page
if ($_GET['id']) {

 $id = $_GET['id'];

} else if (isset($_SESSION['id'])) {

 $id = $_SESSION['id'];

} else { 

   include_once "../home_page/home_page.php";

   exit();
}

$id = mysql_real_escape_string($id);
$sql = mysql_query("SELECT * FROM myMembers WHERE id='$id' LIMIT 1");

 if (mysql_num_rows($sql) === 0) { // evaluate the count
 echo("ERROR");
     exit();
}
// ------- END MAKE SURE PERSON EXISTS IN DATABASE ---------
// Make sure this person a visitor is trying to view actually exists
while($row = mysql_fetch_array($sql)){ 
$firstname = $row["firstname"];
$lastname = $row["lastname"];
$country = $row["country"]; 
$state = $row["state"];
$city = $row["city"];
$sign_up_date = $row["sign_up_date"];
    $sign_up_date = strftime("%b %d, %Y", strtotime($sign_up_date));
$last_log_date = $row["last_log_date"];
    $last_log_date = strftime("%b %d, %Y", strtotime($last_log_date));  
$bio_body = $row["bio_body"];   
$bio_body = str_replace("&amp;#39;", "'", $bio_body);
$bio_body = stripslashes($bio_body);
$website = $row["website"];
$youtube = $row["youtube"];
$facebook = $row["facebook"];
$twitter = $row["twitter"];
$friend_array = $row["friend_array"];
///////  Mechanism to Display Pic. See if they have uploaded a pic or not     //////////////////////////
$check_pic = "../../members/$id/image01.jpg";
$default_pic = "../../members/0/image01.jpg";
if (file_exists($check_pic)) {
$user_pic = "<img src=\"$check_pic?$cacheBuster\" width=\"218px\" />"; 
} else {
$user_pic = "<img src=\"$default_pic\" width=\"218px\" />"; 
}

}

?>
<!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" />
<meta name="Description" content="Profile for <?php echo "$username"; ?>" />
<meta name="Keywords" content="<?php echo "$username, $city, $state, $country"; ?>" />
<meta name="rating" content="General" />
<meta name="ROBOTS" content="All" />
<title>Profile Page</title>
<link href="../../style.css" rel="stylesheet" type="text/css" />
<link rel="icon" href="#" type="image/x-icon" /> <!-- INSERT ICON -->
<link rel="shortcut icon" href="#" type="image/x-icon" /> <!-- AND HERE -->
<script src="../../jquery-1.4.2.js" type="text/javascript"></script>

</head>
<body>
<div class="wrapOverall">
<?php include_once '../../templates/decide_header.php'; ?>
<table width="900" border="0" style="background-color:#F2F2F2; border:#999 1px solid;" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td width="738"><br />
      <table width="90%" border="0" align="center" cellpadding="6">
      <tr>
        <td width="48%" valign="top">
        <?php print "$firstname $lastname"; ?>
        <br />
        <?php print "$user_pic"; ?>
        <br />
        Member Since: <?php print "$sign_up_date"; ?>
        <br />
       <?php print "$youtubeChannel"; ?>
       </td>
        <td width="52%" valign="top">
        <br />
        <strong><u><?php print "$firstname $lastname"; ?>'s Blabs:</u></strong>
        <br />
        <?php print "$the_blab_form"; ?>
        <div style="width:100%; height:180px; overflow:auto; overflow-x:hidden;">
        <?php print "$blabberDisplayList"; ?>
        </div>
        <br />
        <br />
        <strong><u><?php print "$firstname $lastname"; ?>'s Location Details:</u></strong>
    <br />
    <?php print "$city"; ?> &bull; <?php print "$state"; ?> &bull; <?php print "$country"; ?>
    <br />
    <br />
    <strong><u>About <?php print "$firstname $lastname"; ?></u></strong>
    <br />
    <?php print "$bio_body"; ?>
    <br />


    </td>
  </tr>
  <tr>
    <td colspan="2" valign="top">&nbsp;</td>
    </tr>
  </table>
  <p><br />
    <br />
  </p></td>
<td width="160" valign="top"><?php include_once "../../templates/right_AD_template.php"; ?    ></td>
  </tr>
</table>
<?php include_once '../../templates/footer_template.php'; ?>
</div> <!-- END wrapOverall -->
</body>
</html>
4

1 に答える 1

1

次の 2 行のコードでは:

$sql = mysql_query("SELECT * FROM myMembers WHERE id='$id' LIMIT 1");
if (mysql_num_rows($sql) === 0) { // evaluate the count

失敗した場合は、に渡すことができる有効なリソースmysql_queryがありません。mysql_num_rows()

最初に、クエリが実際に実行されたことを確認する必要があります。

$sql = mysql_query("SELECT * FROM myMembers WHERE id='$id' LIMIT 1");
if (!$sql) {
    // query failed
    echo "Query failed: " . mysql_error();
} else {
    $num_rows = mysql_num_rows($sql);
    // rest of your code
}

があるため===、式mysql_num_rows($sql) === 0は true と評価されます。これは、関数が不適切な値で呼び出されたため、関数によって null が返されたためです。mysql_fetch_arrayそのため、無効なリソースで呼び出されるのと同じ問題があります。

主な手がかりは次のとおりmysql_num_rows() expects parameter 1 to be resource, boolean givenです。

リソースが必要ですが、使用できないブール値が指定されました。したがって、変数に渡す変数の値と、それがリソースではなく bool である理由 (この場合はクエリが失敗しているため) を調査できます。

于 2012-04-25T23:19:49.287 に答える