我无法检查SQL查询是否返回结果

时间:2014-05-25 13:50:57

标签: php mysql sql

我正在尝试检查我的SQL查询是否返回了结果,以及是否一切正常......

我这样做是为了验证一个INSERT查询。

    $insert = "INSERT INTO offers (status, description logo) VALUES 
                '" . safe($add['status'][$key]) . "', 
                '" . safe($add['description'][$key]) . "',
                '" . safe($add['logo'][$key]) . "')";

$send = db_query($insert, '+');

db_query($ insert,'+')来自我创建的switch语句,不会一遍又一遍地重复同样的事情:

    case '+':
    while ($resultset = mysql_fetch_row($q)) {
        $val[] = $resultset[0];
    }
    break;

要验证我的查询,我使用:

    if(!$send){
     echo 'something went wrong';
   } else {
    echo 'everything is ok';
}

但它向我显示了同样的信息“一切都好”,即使我在我的查询中出错:

$insert = "INSET INTO offers (statOs, description logo) VALUES 
            '" . safe($add['status'][$key]) . "', 
            '" . safe($add['description'][$key]) . "',
            '" . safe($add['logo'][$key]) . "')";

我该如何解决?

1 个答案:

答案 0 :(得分:0)

INSERT语句不返回行。您可以检查受影响的行数。 你可以使用

$rows = mysql_affected_rows();

请参阅PHP manual, mysql_affected_rows(),请查看红色框并停止使用旧的mysql_ *函数。考虑转移到mysqli或PDO。