-
23-08-2019 - |
题
有一件事情一直窃听我是检查我的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是弱类型,一般不会有这样的区别费心了。
不隶属于 StackOverflow