Mysqli PHP MySqli_result()

时间:2015-01-04 10:41:53

标签: php mysql mysqli

在使用MySql而不是MySqli时,我遇到了一些错误。那个MySql被剥夺了。 我在网站上应用MySqli功能,但我在数据库连接文件夹中需要的东西使用MySql。我已经尝试阅读PHP MySqli文档以了解如何将其更改为MySqli,但它不起作用。

功能是:

这是为了建立与MySql服务器的连接

$this->conn = $func($this->host, $this->user, $this->password);
if (!$this->conn) {
return false;
}

以下是请求数据库

if (@!mysql_select_db($this->database, $this->conn)) {
return false;
}
return true;
}

正在发生的另一件事是在管理面板中我试图创建页面编号来获取数据,因为有时输入的数据太多了。 我通过从$ start到$ end的for循环来做这个,增量为i。 发生的事情是我正在使用mysql_result(),当我切换到mysqli时,它给出了一个错误,即此函数未定义。我尝试使用mysqli_fetch_all()但它没有用。

以下代码通过我上面提到的for循环发生:

        echo '<td>' . mysqli_result($result, $i, 'productid') . '</td>';

        echo '<td>' . mysqli_result($result, $i, 'productname') . '</td>';

上述代码的错误是:

Call to undefined function mysqli_result() 

2 个答案:

答案 0 :(得分:0)

建议您获取如下结果:

while ($row = mysqli_fetch_assoc($result)){

     echo "<td>" . $row['productid'] . "</td>";
     echo "<td>" . $row['productname'] . '</td>';

}

如果你仍然在mysqli上收到错误,那么你需要检查你的PHP版本应该是5.0.0或更高版本。

<?php phpinfo() ?>添加到您的代码中,以便在您的服务器上安装已安装的PHP版本。

<强>更新

根据您的评论,您希望在表格中显示productid和productname的数据时添加分页功能,现在首先您应该使用MySQL的限制功能,请阅读http://www.w3schools.com/php/php_mysql_select_limit.asp

然后你应该在你的select查询之前编写一段代码来为它提供pagesize和pageindex,pageindex将根据pagesize和currentpage计算,你也应该有一个单独的查询来获得总数行能够计算页数。

这个问题Simple PHP Pagination script有一个非常全面的答案,可以解释如何进行分页。

答案 1 :(得分:-1)

MySql扩展程序已被弃用。您应该将PHP脚本转换为使用MySQLi扩展。此扩展可从PHP ver 4.1.3开始提供,并提供许多高级功能,如面向对象的实现。看起来你有一些遗留代码,你需要用MySqli函数替换MySql扩展函数,这不是很难做到的。如果您可以粘贴完整代码,将会更容易为您提供帮助。

根据您的问题,首先您需要更改MySqli连接数据库的方式。与MySql扩展不同,它具有2个连接和选择数据库的功能。 MySqli扩展在一个函数调用中执行此操作。 (注意:以下是与MySql扩展类似的过程样式代码,可以在对象样式代码中完成。)

$link = mysqli_connect('localhost', 'my_user', 'my_password', 'my_db');

然后,您使用上面创建的连接查询数据库&#39; $ link&#39;

$result = mysqli_query($link, 'SELECT * FROM emp ORDER BY id LIMIT 0,10');

&#39; $结果&#39;是获取数据的资源链接。您可以使用此新扩展中提供的许多功能来获取结果数据。没有名为&#39; mysqli_result&#39;的功能,这就是您收到错误的原因。

mysqli_fetch_all, mysqli_fetch_assoc, mysqli_fetch_array etc.

请看这个链接:http://php.net/mysqli_result

根据编写代码的方式,您可能需要更改代码以在许多位置获取结果。但这是你必须这样做的方式。

希望这有帮助,问你有任何问题。