2012-11-15 21 views
0

可能重复:
mysql_fetch_array() expects parameter 1 to be resource, boolean given in selectPHP - > MySQL |如何处理选择结果

背景资料:

对于SELECT,SHOW,描述,解释等语句返回 结果集,请求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()是否返回多个属性?

+0

请先阅读文档,然后再问简单问题:http://it1.php.net/mysql_Query另请勿使用mysql_ * – dynamic

+0

@ yes123您认为我从哪里获得背景信息:p。嗯,我读过你展示的链接,不,那不是我的问题。无论如何,谢谢:) – user1178560

回答

2

PHP manual entry on booleans

当转换为布尔值,下面的值被认为是 FALSE:

  • 布尔值FALSE
  • 整数0(零)
  • 的float 0.0(零)
  • 空字符串,字符串“0”
  • 用零个元素
  • 零个成员变量的对象的阵列(PHP 4只)
  • 特殊类型NULL(包括尚未设定的变量)从空标签

每个创建的

  • SimpleXML的对象其他值被视为TRUE(,包括任何资源)。

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

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

    +0

    非常感谢!我会立即潜入MYSQLi/PDO :) – user1178560

    +0

    不客气!不要忘记将答案标记为已接受;它将帮助未来的访问者解决这个问题。 –