Php 奇怪的mysql错误,说;应为参数“;,但是mysql\u error函数什么也不返回?我迷路了
我遇到了一个奇怪的mysql错误。通过下面的文本,我得到了: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_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> <?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>
<a>My Friends</a>
<a>Message Me</a>
</p>
-->
<!--<p><a href="#" class="btn btn-primary btn-large">My Profile »</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 »</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 »</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')