Php 奇怪的mysql错误,说;应为参数“;,但是mysql\u error函数什么也不返回?我迷路了

Php 奇怪的mysql错误,说;应为参数“;,但是mysql\u error函数什么也不返回?我迷路了,php,html,mysql,die,Php,Html,Mysql,Die,我遇到了一个奇怪的mysql错误。通过下面的文本,我得到了:警告:mysql_num_rows()希望参数1是resource,在第70行的/Applications/XAMPP/xamppfiles/htdocs/chatterr/lr_bootstrap/profile.php中给出空值,尽管代码没有任何错误。我尝试添加die(“查询中的错误:.mysql_Error())如果(mysql\u num\u rows($check\u frnd\u query)==1或$user\u id==

我遇到了一个奇怪的mysql错误。通过下面的文本,我得到了:
警告:mysql_num_rows()希望参数1是resource,在第70行的/Applications/XAMPP/xamppfiles/htdocs/chatterr/lr_bootstrap/profile.php中给出空值,尽管代码没有任何错误。我尝试添加
die(“查询中的错误:.mysql_Error())如果(mysql\u num\u rows($check\u frnd\u query)==1或$user\u id==my\u id){
但是没有返回任何内容。我被这个问题弄糊涂了。我可能正在查看一些东西。你觉得怎么样

<?php 
ob_start(); 
include 'core/init.php'; 
include 'includes/overall/overall_header.php'; 

if (isset($_GET['username']) === true && empty($_GET['username']) === false) {
$username       = $_GET['username'];

if (user_exists($username) === true) {
    $my_id          = $session_user_id;
    $user_id        = user_id_from_username($username);
    $profile_data   = user_data($user_id, 'username', 'first_name', 'last_name',     'email', 'profile_img', 'bio');
    $user           = $user_id;
?>


<div class="container-fluid">
  <div class="row-fluid">
    <?php include 'includes/sidebar.php'; ?>
    <div class="span9">
      <div class="hero-unit">
        <p>
        <?php 
        if (empty($profile_data['profile_img']) === false) {

            echo '<img src="', $profile_data['profile_img'],'" alt="',     $profile_data['first_name'] ,'\'s Profile Image" class="profile">'; 
        }
        ?></p>
        <h2><?php echo $profile_data['first_name'],' ', $profile_data['last_name']; ?>    </h2>
        <p><?php echo $profile_data['bio']?></p>
        <p>

        <?php if($user_id === $session_user_id) {
        ?> <a href="settings.php">Edit Profile</a> &nbsp;&nbsp;&nbsp; <?php
        } else {
        if (logged_in() === true) {
        if($user != $my_id){
        $check_frnd_query = mysql_query("SELECT id FROM friends WHERE     (user_one ='$my_id' AND user_two='$user') OR (user_one='$user' AND user_two='$my_id')");

            if (mysql_num_rows($check_frnd_query) == 1) {
                echo "Friends | <a href='actions.php?    action=unfriend&user=$user' class='box'>Unfriend $username</a>";
            } else {
                $from_query = mysql_query("SELECT `id` FROM     `friend_req` WHERE `from`='$user' AND `to`='$my_id'");
                $to_query = mysql_query("SELECT `id` FROM `friend_req`     WHERE `from`='$my_id' AND `to`='$user'");

                if(mysql_num_rows($from_query) == 1) {
                    echo "<a href='actions.php?    action=accept&user=$user' class='box'>Accept</a> | <a href='actions.php?action=ingnore&user=$user' class='box'>Ignore</a>";
                } else if (mysql_num_rows($to_query) == 1) {
                    echo "<a href='actions.php?action=cancel&user=$user' class='box'>Cancel Request</a>";
                } else {
                    echo "<a href='actions.php?    action=send&user=$user' class='box'>Send Friend Request </a>";
                }

            }
        }
        } //logged in
        } ?>

        <!-- If friends:
        <a>My Photos</a> &nbsp;&nbsp;&nbsp;
        <a>My Friends</a> &nbsp;&nbsp;&nbsp;
        <a>Message Me</a>
        </p>
        -->
        <!--<p><a href="#" class="btn btn-primary btn-large">My Profile &raquo;</a></p> --    >
      </div>
      <div class="row-fluid">
      <?php

      if (mysql_num_rows($check_frnd_query) == 1 OR $user_id == $my_id) {
      $res=mysql_query("SELECT * FROM posts WHERE user_id=$user_id ORDER BY     timestamp DESC LIMIT 0, 3");

      while($row=mysql_fetch_assoc($res)) {
        ?>
            <div class="span4">
              <h2><?php echo $profile_data['first_name']?> said...</h2>
              <h8><?php echo $row['timestamp']; ?></h8>
              <p><?php echo $row['content']; ?></p>
              <p><a class="btn" href="#">View Reactions &raquo;</a></p>
            </div><!--/span-->

        <?php
      }
      ?>
      </div><!--/row-->

      <div class="row-fluid">
      <?php
      $res=mysql_query("SELECT * FROM posts WHERE user_id=$user_id ORDER BY timestamp DESC LIMIT 3, 6");

      while($row=mysql_fetch_assoc($res)) {
        ?>
            <div class="span4">
              <h2><?php echo $profile_data['first_name']?> said...</h2>
              <h8><?php echo $row['timestamp']; ?></h8>
              <p><?php echo $row['content']; ?></p>
              <p><a class="btn" href="#">View Reactions &raquo;</a></p>
            </div><!--/span-->

        <?php
      }
      ?>
      </div><!--/row-->


    </div><!--/span-->
  </div><!--/row-->


<?php
} else {
    echo '<h3>Whoops, you must be friends with this user to see their posts.</h3>';
}

} else {
    header('Location: 404.php');
    exit();
}
} else {
header('Location: index.php');
exit();
}

include'includes/overall/overall_footer.php'; 
?>


说。。。

说。。。


这就是我看到的:

您的查询可能失败并返回
FALSE
,而不是
mysql\u num\u rows
预期的资源标识符

在进一步传递之前,请始终检查mysql\u query的返回值

$check_frnd_query = mysql_query("SELECT id FROM friends WHERE     (user_one ='$my_id' AND user_two='$user') OR (user_one='$user' AND user_two='$my_id')");
if (!$check_frnd_query) {
    die('Invalid query: ' . mysql_error());
}
在这个查询中,用户id没有引号,它是数字

SELECT id FROM friends WHERE     (user_one ='$my_id' AND user_two='$user') OR (user_one='$user' AND user_two='$my_id')
在这个查询中,用户id类型字段有引号,是字符串吗


您在第一个查询中是否缺少引号?

尝试回显查询并在phpmyadmin中运行它,并将
mysql\u查询(“从朋友那里选择id(用户\u one='$my\u id'和用户\u two='$user')或(用户\u one='$user'和用户\u two='$my\u id'));
替换为
mysql\u查询(“从朋友那里选择id”)(user_one='$my_id'和user_two='$user')或(user_one='$user'和user_two='$my_id'))或死亡(mysql_error());
并开始学习mysqli或pdo..mysql函数不再维护,而是retarded@new_developer我不相信,查询不是问题所在。这与
mysql\u num\u rows
@new\u developer有关,它仍然会给我同样的错误,即使你的新查询mysql\u num\u rows是正确的。当er资源没有传递给它。这意味着你的查询没有被执行。我如何检查,我没有看到任何语法错误会导致这一点,这没有给我任何东西?这是我的代码:输出仍然是:Idk为什么?在你的代码中,你将
mysql\u query
的结果分配给变量
$res
,但请检查ing变量
$result
。更改其中一个并尝试再次运行它。好的,所以我将它更改为
if(!$res){
,我甚至没有得到“无效查询”部分,但当我这样做时:
if(!$check\u frnd\u query){
它返回“无效查询”部分但没有错误?如果/当我得到错误时,它是:
警告:mysql\u num\u rows()希望参数1是resource,第69行的/Applications/XAMPP/xamppfiles/htdocs/chatterr/lr_bootstrap/profile2.php中给出的空值
我所知道的所有原因都是因为我不是我自己的朋友,即使我是,它也会给我错误,但我的其他朋友的配置文件没有错误,它只是我的配置文件,或者其他帐户我已登录用户的个人资料。
SELECT id FROM friends WHERE     (user_one ='$my_id' AND user_two='$user') OR (user_one='$user' AND user_two='$my_id')