MySQLi获取对象

时间:2011-03-10 14:29:02

标签: php mysqli while-loop

如果你这样做可以吗

$TEST = $LINK->query("SELECT * FROM `users`");
while($ROW = $TEST->fetch_object() && $MAX_ROWS < 16){
  $MAX_ROWS++;
  //more code
}

我知道你可以在查询结尾添加Limit 0,16,但我想知道这种语法是否有效,因为它似乎失败了。

抱歉,我只是想尽可能多地学习。

2 个答案:

答案 0 :(得分:3)

试试这个(添加一些括号):

$TEST = $LINK->query("SELECT * FROM `users`");
while(($ROW = $TEST->fetch_object()) && $MAX_ROWS < 16){
  $MAX_ROWS++;
  //more code
}

答案 1 :(得分:0)

  

我知道你可以在查询结尾添加Limit 0,16,但我想知道这种语法是否有效,因为它似乎失败了。

那应该是有用的。它是否因错误而失败?

<?php
$max_rows = 0;
$test = true;
while( $test && $max_rows < 16 ) {
   $max_rows++;
   // rest.
}

这对我有用,应该会产生相同的效果吗?

编辑:Tobiask是对的。如果您使用“$ row = mysqli_fetch_object($ result)&amp;&amp; $ max_rows&lt; 16)”$ row的内容将为true,因为两个测试都是成功的。