有一件事情一直窃听我是检查我的PHP脚本的问题,当我得到警告“布尔-分配:分配状况”,我得到了他们很多。 e.g:

$guests = array();
$sql = "SELECT * FROM `guestlist`";
$result = mysql_query($sql);
while($row = mysql_fetch_assoc($result))
    $guests[] = $row['name'];

是否有不同的方式来获得多个或全部的行成为对象或数组?或者是有什么错用这种方法?

有帮助吗?

解决方案

尝试代替这样做:

$guests = array();
$sql = "SELECT * FROM `guestlist`";
$result = mysql_query($sql);
while(($row = mysql_fetch_assoc($result)) !== false)
    $guests[] = $row['name'];

相信PHP是因为$行= mysql_fetch_assoc($结果)警告没有返回一个布尔值。

其他提示

其实,我相信这是警告,因为你可能会犯了一个错误。通常,在有条件的,你的意思是要做到:

if (something == something_else)

但它很容易犯错误,去:

if (something = something_else)

所以,这可能警告你。如果PHP是任何东西都喜欢C,你可以在你的声明一组括号解决您的问题,像这样:

while(($row = mysql_fetch_assoc($result)))

我相信杰里米的答案是稍微偏离,因为PHP是弱类型,一般不会有这样的区别费心了。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top