Php 执行mysql查询的最佳方法
目前我正在使用:Php 执行mysql查询的最佳方法,php,mysql,Php,Mysql,目前我正在使用: $query = SELECT * FROM `table` WHERE `id`='column'; $mydata = mysql_query($query); $element = mysql_result($mydata, 0, "Element"); 有没有更快更好的方法可以做到这一点?您可以使用mysql、mysqli或PDO。这取决于你的要求,当你选择一个时,你必须考虑几个方面。 如果你只考虑性能,mysql是最快的。虽然mysql_*函数在5.5.x之后已被弃
$query = SELECT * FROM `table` WHERE `id`='column';
$mydata = mysql_query($query);
$element = mysql_result($mydata, 0, "Element");
有没有更快更好的方法可以做到这一点?您可以使用mysql、mysqli或PDO。这取决于你的要求,当你选择一个时,你必须考虑几个方面。 如果你只考虑性能,mysql是最快的。虽然mysql_*函数在5.5.x之后已被弃用,并且将不存在于PHP7中 但是,如果您正在考虑数据库支持、API、命名参数、对象映射、准备好的语句、存储过程等,那么您可以在mysqli或PDO中选择一个。mysqli只支持mysql数据库,PDO支持12个数据库
+--------------------+----------------------+------------------+
| | PDO | MySQLi |
+--------------------+----------------------+------------------+
| Database support | 12 different drivers | MySQL only |
| API | OOP | OOP + procedural |
| Connection | Easy | Easy |
| Named parameters | Yes | No |
| Object mapping | Yes | Yes |
| Prepared statements| Yes | Yes |
| (client side) |
| Performance | Fast | Fast |
| Stored procedures | Yes | Yes |
+--------------------+----------------------+------------------+
这在mysqli和PDO之间有很好的比较
我的建议是使用PDO
mysql
mysqli
PDO
很抱歉,我对php和mysql不熟悉。你们能告诉我什么是准备好的查询吗?请阅读教程。http://www.w3schools.com/php/php_mysql_prepared_statements.asp & http://php.net/manual/en/mysqli.quickstart.prepared-statements.php 从这里开始。使用mysql_*函数,而不是mysql_*函数,因为这些函数已弃用,将来将被删除。如果mysql_*更快,现代API的安全性/数据完整性方法将大大超过这一微小的性能增益。MyISAM和InnoDB对性能的影响比mysql和mysqli对性能的影响更大。请不要提倡PHP7中不再存在的长期不推荐的mysql函数。此外,这个博客和您的表也不完全正确。谢谢@Gerald Schneider,我更新了表并提到mysql函数不推荐使用。
$c = mysql_connect("example.com", "user", "password");
mysql_select_db("database");
$result = mysql_query("SELECT id, first_name, last_name FROM users");
$rows = mysql_fetch_assoc($result);
var_dump($rows);
$mysqli = new mysqli("example.com", "user", "password", "database");
$result = $mysqli->query("SELECT id, first_name, last_name FROM users");
$row = $result->fetch_assoc();
var_dump($rows);
$pdo = new PDO('mysql:host=example.com;dbname=database', 'user', 'password');
$statement = $pdo->query("SELECT id, first_name, last_name FROM users");
$row = $statement->fetch(PDO::FETCH_ASSOC);
var_dump($rows);