警告:mysql_fetch_assoc():提供的参数不是有效的MySQL

时间:2012-01-28 06:49:06

标签: php mysql

我需要更新表phpbb_points相同的phpbb_posts

这是我的代码

<?php
    include 'config.php';
    $link = mysql_connect($dbhost, $dbuser, $dbpasswd) or die('Could not connect');

$db_id = mysql_select_db($dbname) or die('Could not get db');
$d = mysql_fetch_assoc(mysql_query("SELECT * FROM phpbb_users ORDER BY id;"));

mysql_query("UPDATE phpbb_users SET `user_points`='".$d['user_posts']."' WHERE user_id='".$d['user_id']."';") or die(mysql_error());
?>

但是它会返回

  

警告:mysql_fetch_array():提供的参数不是有效的MySQL   第7行/home/**/public_html/forum/point.php中的结果资源

请帮助我,提前谢谢

4 个答案:

答案 0 :(得分:0)

在第二个查询中检查$d['user_posts']。这是无效的,因为第一个查询很可能会返回多行。

答案 1 :(得分:0)

mysql_fetch_assoc(mysql_query("SELECT * FROM phpbb_users ORDER BY id;"));

你在sql中使用(分号;)从sql中删除这个(分号;)。

纠正一个:

$d = mysql_fetch_assoc(mysql_query("SELECT * FROM phpbb_users ORDER BY id"));

希望这会奏效。

答案 2 :(得分:0)

$d = mysql_query("SELECT * FROM phpbb_users ORDER BY id;");

while ($row = mysql_fetch_assoc($d) {
    mysql_query("UPDATE phpbb_users SET `user_points`='".$row['user_posts']."' WHERE user_id='".$row['user_id']."';") or die(mysql_error());
}

答案 3 :(得分:-1)

在那个QUERY中删除半结构

// false code

$d = mysql_fetch_assoc(mysql_query("SELECT * FROM phpbb_users ORDER BY id;"));

// true code

$d = mysql_fetch_assoc(mysql_query("SELECT * FROM phpbb_users ORDER BY id"));