我们应该使用像“--->”这样的对象范围用PHP?

时间:2013-07-09 13:44:15

标签: php

我正在完成本教程

http://www.1stwebdesigner.com/tutorials/infinite-scrolling-tutorial/

它包含以下代码段:

<!--?php 
$con = mysql_connect("localhost", "username", "password"); 
mysql_select_db("database_name"); 
$result = mysql_query("select SQL_CALC_FOUND_ROWS * from scroll_images order by id asc   limit 12"); 
$row_object = mysql_query("Select Found_Rows() as rowcount"); 
$row_object = mysql_fetch_object($row_object); 
$actual_row_count = $row_object--->rowcount;
?>

$actual_row_count = $row_object--->rowcount;行让我感到困惑,--->rowcount应该做什么?当我在PHP中使用它时,我收到错误。

<?php
$sql_fetch = "SELECT * FROM articles ORDER BY time DESC limit 4;";
$dbresult = mysqli_query( $db, $sql_fetch );

$row_object = mysqli_query( $db, "Select Found_Rows() as rowcount" );
$row_object = mysqli_fetch_object( $row_object );
$actual_row_count = $row_object--->rowcount;
?>

Parse error: syntax error, unexpected T_OBJECT_OPERATOR in /Applications/MAMP/htdocs/index.php on line 14

7 个答案:

答案 0 :(得分:5)

<!-- Comment -->是您在HTML中注释掉内容的方式。这条线确实不正确(暂时不读这篇文章)。

我想他的意思是

<?php 
$con = mysql_connect("localhost", "username", "password"); 
mysql_select_db("database_name"); 
$result = mysql_query("select SQL_CALC_FOUND_ROWS * from scroll_images order by id asc   limit 12"); 
$row_object = mysql_query("Select Found_Rows() as rowcount"); 
$row_object = mysql_fetch_object($row_object); 
$actual_row_count = $row_object->rowcount;
?>

另一方面:

  

Please, don't use mysql_* functions in new code。它们不再被维护and are officially deprecated。请参阅red box?转而了解prepared statements,并使用PDOMySQLi - this article将帮助您确定哪个。如果您选择PDO here is a good tutorial

答案 1 :(得分:2)

我想它应该是

$actual_row_count = $row_object->rowcount;

但这并不是你如何得到mysqli的行数。

那么代码是什么,它几乎是100%错误。

答案 2 :(得分:1)

这只是一个错误。将<!--?php替换为<?php,将$row_object--->rowcount;替换为$row_object->rowcount;

答案 3 :(得分:1)

--->不是实际的运营商。你需要的实际操作符是->跛脚调用,“箭头操作符”或T_OBJECT_OPERATOR。

评估php会导致 -

$actual_row_count = $rowobject-- (which means decrement by 1)->rowcount;

这是不正确的PHP,因为你只能在一个对象上使用箭头操作符,而不是整数,这就是“$ rowobject--”将评估的内容。这解释了你意想不到的“T_OBJECT_OPERATOR”。

您遇到的是糟糕的PHP工程。将其更改为

$actual_row_count = $rowobject->rowcount

并且您的PHP将被设置。其他

请参阅其他答案

答案 4 :(得分:1)

  • ---&GT;本身就是做任何事。

  • - &GT;用于关闭HTML注释(您使用

  • 从row1开始)
  • - &GT;用于获取对象的实例(在您的情况下,$ row_object-&gt; rowcount)

答案 5 :(得分:0)

它试图获取一个对象的实例,但是没有正确。试试这个:

$row_object->rowcount

答案 6 :(得分:0)

用户而不是

错误
$rowobject--->rowcount;

替换为

$rowobject->rowcount