我希望添加一个简单的分页,但在从msql更改为mysqli后,我似乎无法正确。我无法理解它,我只是从它开始。 我遵循了教程,但仍然遇到错误。
抱歉我缺乏知识,但我缺少什么?<?php
$db = new mysqli("host", "username", "password", "mydatabase");
if($db->connect_errno > 0){
die('Unable to connect to database [' . $db->connect_error . ']');
}
$rec_limit = 10;
$sql = "SELECT COUNT(photo)FROM employees";
$retval = mysql_query( $sql, $db );
if(! $retval )
{
die('Could not get data: ' . mysql_error());
}
$row = mysql_fetch_array($retval, MYSQL_NUM );
$rec_count = $row[0];
if( isset($_GET{'page'} ) )
{
$page = $_GET{'page'} + 1;
$offset = $rec_limit * $page ;
}
else
{
$page = 0;
$offset = 0;
}
$left_rec = $rec_count - ($page * $rec_limit);
$sql = "SELECT photo, link".
"FROM employees ".
"LIMIT $offset, $rec_limit";
$retval = mysql_query( $sql, $db );
if(! $retval )
{
die('Could not get data: ' . mysql_error());
}
while($row = mysql_fetch_array($retval, MYSQL_ASSOC))
echo "<br /><br />";
echo '','<img src="/upload/' . $row->photo . '" border=0>';
echo '', $row->link;
if( $page > 0 )
{
$last = $page - 2;
echo "<a href=\"$_PHP_SELF?page=$last\">Last 10 Records</a> |";
echo "<a href=\"$_PHP_SELF?page=$page\">Next 10 Records</a>";
}
else if( $page == 0 )
{
echo "<a href=\"$_PHP_SELF?page=$page\">Next 10 Records</a>";
}
else if( $left_rec < $rec_limit )
{
$last = $page - 2;
echo "<a href=\"$_PHP_SELF?page=$last\">Last 10 Records</a>";
}
mysql_close($db);
?>
答案 0 :(得分:1)
您正在混合使用mysqli_*
和mysql_*
个功能。
请选择您要使用的样式:程序样式(mysqli_connect
,mysqli_query
)或对象样式(new MySQLi
等)
你不能混合那些2,你也不能混合2个不同的库(mysql和mysqli)
详细了解不同的样式on PHP.net(示例还说明了如何使用mysqli)
答案 1 :(得分:0)
$sql = "SELECT COUNT(photo)FROM employees";
^--- missing a space here
和
$sql = "SELECT photo, link".
^--- missing space here
"FROM employees ".
如果这段代码来自教程,我建议你抛弃它。您的代码绝对没有错误处理,只是假设一切都成功了。正确编写的教程将有适当的错误检测/处理。并建议不要使用mysql _ *()函数,因为它们已被弃用/过时。