使用PHP连接数据库有哪些最安全的方法?

时间:2013-04-04 08:25:05

标签: php mysql syntax

我还是PHP和MYSQL的新手,我正在尝试用现代编码技术学习。我在网上找到的所有东西似乎都已经过时了。

有人可以为我推荐一些东西吗?如果下面的代码已经过时,我也很好奇?如果它确实过时了,你能建议更新更安全的方法吗?

<?php
    $connection = mysql_connect("localhost", "root", "");
    if (!$connection) {
        die("Oops, error happened: " . mysql_error());
    }
?>

5 个答案:

答案 0 :(得分:10)

使用PDO个功能。

使用PDO进行数据库连接:

$conn = new PDO('mysql:host=localhost;dbname=myDatabase', $username, $password);

答案 1 :(得分:3)

  

使用PHP连接数据库的最安全方法

如果您正在寻找安全的方法,您实际需要通过注射来验证您的查询。 MySQL扩展程序很快就会被弃用,但这并不意味着它现在不是safe,而是社区放弃了扩展程序的进一步开发。

您可以尝试PDOmysqli进行数据库查询,两者都很好。

您的选择应取决于您的数据库选择 -

PDO支持大约12种不同的驱动程序,而MySQLi仅支持MySQL

可用的PDO驱动程序列表

CUBRID (PDO)
MS SQL Server (PDO)
Firebird/Interbase (PDO)
IBM (PDO)
Informix (PDO)
MySQL (PDO)
MS SQL Server (PDO)
Oracle (PDO)
ODBC and DB2 (PDO)
PostgreSQL (PDO)
SQLite (PDO)
4D (PDO) 

来源 - pdo-drivers-in-php

API支持

PDOMySQLi都提供了面向对象的API ,但MySQLi也提供了procedural API

答案 2 :(得分:2)

是的,您的代码已过时。和mysql_connect,mysql_query等将很快被删除。

基本上有两种选择:(不安装第三方应用程序)

查看http://php.net/manual/en/book.pdo.php

OR

使用Mysqli http://php.net/manual/en/book.mysqli.php

答案 3 :(得分:2)

在PHP中访问数据库时,我们现在有两个选择:MySQLi和PDO。

要选择要使用的内容,请查看here!

如果您想知道为什么不应该使用mysql_ *,那么请查看this post!

答案 4 :(得分:0)

首先:

是的,这条线已经过时了。

您可以使用与mysqli_*非常相似的mysql_函数。

其次,如果您对面向对象编程有所了解,可以使用PDO,如其他答案所示。

最后要提到的是永远不会向用户显示错误消息。他不需要知道出了什么问题,他也不需要知道出了什么问题。因此,die()永远不会出现错误消息。