因此,这不是一个比需要解决的问题,而是出于好奇和澄清的问题。 A正在苦苦寻找一块php/mysqli,并在调试和分割代码时发现我的代码正在工作,而不是我写它的方式。“相同”的语法,不同的结果使用mysqli fetch_assoc()?
初始代码(不工作)
$result = $mysqli -> query("SELECT nick FROM userdata WHERE id=".$_SESSION['uid']);
// ... error checking here ...
for($i = $result -> num_rows - 1; $i >= 0; $i--){
$result -> data_seek($i);
$nick = ($result -> fetch_assoc())['nick']; // crash
}
最终代码(工作)
$result = $mysqli -> query("SELECT nick FROM userdata WHERE id=".$_SESSION['uid']);
// ... error checking here ...
for($i = $result -> num_rows - 1; $i >= 0; $i--){
$result -> data_seek($i);
$row = $result -> fetch_assoc(); // working
$nick = $row['nick']; // working
}
所以,任何人都可以开导我,为什么第一个代码只是打破了我吗?
此致敬礼。
PHP的编译器无法处理第一种情况下的语法,除了最近的版本。请参阅http://stackoverflow.com/questions/1459377/access-array-returned-by-a-function-in-php –