PHP - > MySQL |如何处理选择结果

时间:2012-11-15 00:19:33

标签: php mysql

  

可能重复:
  mysql_fetch_array() expects parameter 1 to be resource, boolean given in select

背景资料:

  

对于SELECT,SHOW,DESCRIBE,EXPLAIN和其他语句返回   resultset,mysql_query()在成功时返回资源,或者返回FALSE   错误。

     

对于其他类型的SQL语句,INSERT,UPDATE,DELETE,DROP等,   mysql_query()成功时返回TRUE,错误时返回FALSE。

如果SELECT返回有关成功的资源,它在成功时实际返回TRUE吗?那么它仍然有效吗?:

<?php
$result = mysql_query('SELECT * WHERE 1=1');
if ($result) {
    //resultset is valid?
}

?>

我几乎可以肯定它确实如此,但它是如何工作的? mysql_query()只返回几个属性吗?

1 个答案:

答案 0 :(得分:2)

来自PHP manual entry on booleans

  

转换为布尔值时,会考虑以下值   FALSE:

     
      
  • 布尔值FALSE本身
  •   
  • 整数0(零)
  •   
  • 浮点数0.0(零)
  •   
  • 空字符串,字符串“0”
  •   
  • 包含零元素的数组
  •   
  • 一个零成员变量的对象(仅限PHP 4)
  •   
  • 特殊类型NULL(包括未设置的变量)
  •   
  • 从空标签创建的SimpleXML对象
  •   
     

其他每个值都被视为TRUE(包括任何资源)。

重点是我的,但适用于你的情况。

另外,请勿在代码中使用mysql_*函数。这些功能不再被维护,并且是being deprecated。相反,您应该使用MySQLiPDO。不知道用哪个? This article应该有所帮助。