0
我看过了几个SO职位,以及在其他网站上的文章,并且还没有找到一个有效的答案:(警告:mysql_fetch_assoc():提供的参数不是一个有效的MySQL结果资源
这里是我的代码:
include("db_conn.php");
$conn = mysql_connect($db_host, $db_user, $db_pass) or die(mysql_error()); mysql_select_db($db_name) or die(mysql_error());
$timestamp = time();
$add_time = time()+(60*60);
$query = "SELECT * FROM links WHERE timestamp >= '$timestamp' AND overflow = 'NO'";
$result = mysql_query($query);
if(mysql_num_rows($result) > 0) {
while($row = mysql_fetch_assoc($result)){
$link = $row['link'];
$hit_update = rand($row['min'],$row['max']);
$query = "UPDATE links SET timestamp = '$add_time', hit_counter = '0', max_hits = '$hit_update' WHERE link = '$link' AND timestamp <= '$timestamp' AND overflow = 'NO'";
$result = mysql_query($query) or die(mysql_error());
}
}
mysql_close($conn);
它会返回错误:
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource
要诊断我已经试过:
- 拆卸装箱
if()
声明。 - 注释掉
while()
循环,并在$result = mysql_query($query);
下面添加$size = mysql_num_rows($result); echo $size;
,它返回3
,即查询本身没有任何问题。
有谁知道这个问题可能是什么?
任何答案将非常感谢!
问题在于更新 您重写$ result变量 – galchen