我被告知mysql_
扩展现在在当前版本的PHP中被弃用,并且在某些时候会被删除。mysql_ deprecated
我应该用什么来代替这个以及如何使用?
对于几乎所有我使用它的查询。
例如:
$result = mysql_query($query);
if (!$result) die ("Database access failed: " . mysql_error());
$rows = mysql_num_rows($result);
我被告知mysql_
扩展现在在当前版本的PHP中被弃用,并且在某些时候会被删除。mysql_ deprecated
我应该用什么来代替这个以及如何使用?
对于几乎所有我使用它的查询。
例如:
$result = mysql_query($query);
if (!$result) die ("Database access failed: " . mysql_error());
$rows = mysql_num_rows($result);
按照PHP
手册,你应该使用以下任一:
要尽管如此,这些都不是mysql_num_rows()
的纯粹替代品。您的代码最终必须完全重写,以使用MySQLi或PDO API代替mysql_*()
。
mysql_num_rows
这个扩展不赞成PHP 5.5.0的,并会在将来被移除。相反,应该使用MySQLi或PDO_MySQL扩展。另请参阅MySQL:选择API指南和相关FAQ以获取更多信息。替代该功能包括:
截至提到你可以使用Mysqli或PDO_MYSQL作为替代的官方mysql_num_rows function description。
don't use mysql_* functions in new code.
他们不再保留并且officially deprecated。查看red box?请改为了解prepared statements,并使用PDO或MySQLi - 这篇文章将帮助您决定哪个。
如果选择PDO,这里是一个good tutorial
这个几乎自动化的响应非常恼人,并没有正确回答这个问题。使用mysqli_query()的 – 2013-03-08 12:29:37
就个人而言,我现在用的MySQL Improved extension。
如果您选择以过程方式使用它,则可以以与您当前使用旧的MySQL扩展程序非常类似的方式使用它。
实施例(MySQL的):
$result = mysql_query($query);
if (!$result) die ("Database access failed: " . mysql_error());
$rows = mysql_num_rows($result);
实施例(MySQL的改进):
$result = mysqli_query($query);
if (!$result) die ("Database access failed: " . mysqli_error());
$rows = mysqli_num_rows($result);
然而,我使用MySQL在一个面向对象的方式改进。
更多信息可以在这里找到:http://www.php.net/manual/en/book.mysqli.php
不比mysql_query() – 2013-03-08 12:34:58
更好@YourCommonSense mysqli_query()不被弃用。这才是重点。 – 2013-03-08 12:40:05
我需要安装一些东西才能使'mysqli_ *'工作吗? – Pars 2013-11-04 06:44:25
如果你了解数据库抽象库的想法,使用safemysql
$data = $db->getAll($query,$param1,$param2);
$rows = count($data);
如果使用原始API函数对你更熟悉,使用PDO
$stm = $pdo->prepare($query);
$stm->execute(array($param1,$param2));
$data = $stm->fetchAll();
$rows = count($data);
注2重要事项:
谢谢你的笔记,非常有用。 PDO现在是我的新宝贝。 – Brobina 2013-03-08 16:02:03
使用mysqli_ *功能 – 2013-03-08 12:20:53
你应该使用[PDO](http://php.net/manual/fr /book.pdo.php) – soyuka 2013-03-08 12:21:15
这不仅仅是'mysql_num_rows()'。它是'mysql _ *()'函数的_all,'mysql_connect(),mysql_query()等等'' – 2013-03-08 12:22:05