1

我正在阅读本教程

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

4

7 回答 7

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;
?>

换一种说法:

请不要mysql_*在新代码中使用函数。它们不再被维护并被正式弃用。看到红框了吗?改为了解准备好的语句,并使用PDOMySQLi -本文将帮助您决定使用哪个。如果您选择 PDO,这里有一个很好的教程

于 2013-07-09T13:46:50.673 回答
2

我想它应该是

$actual_row_count = $row_object->rowcount;

但这不是获取 mysqli 行数的方式。

所以无论那个代码是什么,它几乎是 100% 错误的。

于 2013-07-09T13:46:31.330 回答
1

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

于 2013-07-09T13:47:17.097 回答
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 将被设置。其余的参考其他答案

于 2013-07-09T13:47:43.913 回答
1
  • ---> 本身并没有做任何事情。

  • --> 用于关闭 HTML 注释(从 row1 开始

  • -> 用于获取对象的实例(在您的情况下,$row_object->rowcount)
于 2013-07-09T13:48:09.820 回答
0

它试图获取一个对象的实例,只是不正确。试试这个:

$row_object->rowcount
于 2013-07-09T13:46:12.373 回答
0

它只是错误的用户而不是

$rowobject--->rowcount;

替换为

$rowobject->rowcount
于 2013-07-09T13:52:12.840 回答