我有一些代码,
if(logged_in() == true){
$website_id = (INT)$_GET['id'];
$addedById = mysql_result(mysql_query("SELECT `user_id` FROM `websites` WHERE `id` = '$website_id'"), 0);
$q = mysql_fetch_assoc(mysql_query("SELECT `phone` FROM `users` WHERE `user_id` = '$addedById'"));
$result = mysql_query("SELECT * FROM `websites` WHERE `id` = '$website_id'");
echo $q['phone'];
}
else{
echo' please logged_in';
}
并返回错误" Warning: mysql_result() [function. mysql_result()] "。MySQL -result]:无法跳转到第0行
$addedById = mysql_result(mysql_query("SELECT `user_id` FROM `websites` WHERE `id` = '$website_id'"), 0);
我尝试了几个选项来解决这个问题,没有,我该如何解决它?
尝试分离代码并检查查询结果…
$result = mysql_query('SELECT user_id FROM websites WHERE id = '.$website_id);
if (!$result || empty($result)) {
echo 'Could not query:' . mysql_error();
}
echo mysql_result($result, 0);
下面是修改后的代码(不是很好的代码,但可以尝试一下):
if(logged_in() == true){
$website_id = (INT)$_GET['id'];
$result = mysql_query("SELECT user_id FROM websites WHERE id = " . $website_id);
if (!empty($result)) {
$addedById = mysql_result($result, 0);
$query_user = mysql_query("SELECT phone FROM users WHERE user_id = " . $addedById);
$result_user = mysql_fetch_assoc($query_user);
if (!empty($result_user) {
echo $result_user[0]['phone'];
}
}
} else {
echo' please logged_in';
}
但是你不应该再使用这个mysql函数了,它们已经被弃用了。使用PDO或mysql。http://php.net/manual/en/book.mysqli.phphttp://php.net/manual/en/ref.pdo-mysql.php