检查有效的MySQL结果资源

Svi*_*ish 6 php mysql resultset

我有这个代码:

$rows = array();
$res = mysql_query($someQuery);

if(!mysql_errno())
    while($row = mysql_fetch_assoc($res))
        $rows[] = $row;
Run Code Online (Sandbox Code Playgroud)

$someQuery是我写入表单的任意查询.当我编写一个包含错误的mysql查询时,mysql_errno捕获了这种情况.但是,我刚刚发现,当我执行"从table_name中删除"查询时,它当然不是错误,但同时mysql_fetch_assoc失败并出现"警告:mysql_num_rows():提供的参数不是有效的MySQL结果第x行上的/blah/blah/file.php中的资源.

我试图在手册中寻找它(也许我只是盲目...)但是有一个函数我可以用来检查$ res是否是一个有效的MySQL结果资源?

Mat*_*att 7

if ($res)应该工作正常,以检查它是否是一种资源. is_resource()将确定它是否是一个有效的资源.

您还可以检查mysql_affected_rows以尝试确定它是否为INSERT/UPDATE/etc.