可能重复:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result
我尝试了所有我能想到的东西,但我继续犯这个错误。
Mysql_fetch_assoc():提供的参数不是第41行/ url /中的有效MySQL结果资源
if ( $_POST[submit] == "Submit" )
{
$sql="INSERT INTO table (`content`, `userid`, `ttime`) VALUES
('$_POST[content]', '".$user_id."', '".time()."')";
$res = mysql_query($sql,$link) or die(mysql_error());
/* (line 41 is the following)*/
while($result = mysql_fetch_assoc($res)) {
} }
我尝试打印出错误(没有错误打印出警告),我尝试更改查询,我能想到的一切。代码工作正常 - 它点击插入,一切都很好,只是出现警告._。'
有什么想法吗?
答案 0 :(得分:1)
您无法从INSERT查询中获取结果。
答案 1 :(得分:1)
您正在尝试从不是SELECT查询的查询中获取数据行。您只能从结果数据集中获取关联的数组。 INSERT查询就是这样做的。
答案 2 :(得分:1)
来自mysql_query()
返回值
用于SELECT,SHOW,DESCRIBE,EXPLAIN 和其他声明返回 resultset,mysql_query()返回一个 成功的资源,或FALSE 错误。
对于其他类型的SQL语句, INSERT,UPDATE,DELETE,DROP等, mysql_query()成功返回TRUE 错误时为FALSE。
返回的结果资源应该是 传递给mysql_fetch_array(),和 其他处理功能 结果表,访问返回的 数据
使用mysql_num_rows()来了解具体方法 为SELECT返回了许多行 声明或mysql_affected_rows()来 找出受影响的行数 通过DELETE,INSERT,REPLACE或 更新声明。
mysql_query()也会失败 如果用户没有,则返回FALSE 访问表的权限 由查询引用。