13

我对 PHP 和 MYSQL 还是很陌生,我正在尝试使用现代编码技术来学习这两者。我在网上找到的所有东西似乎都已经过时了。

任何人都可以为我提出任何建议吗?我也很好奇以下代码是否已过时?如果它确实已经过时,你能建议更新更安全的方法吗?

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

5 回答 5

10

使用PDO函数。

使用 PDO 连接数据库:

$conn = new PDO('mysql:host=localhost;dbname=myDatabase', $username, $password);
于 2013-04-04T08:27:39.667 回答
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 支持

PDO并且MySQLi两者都提供了面向对象的 API,但 MySQLi 也提供了一个procedural API.

于 2013-04-05T05:27:42.740 回答
2

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

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

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

或者

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

于 2013-04-04T08:29:03.137 回答
2

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

要选择您要使用的,请看这里!

如果你想知道为什么你不应该使用 mysql_* 然后看看这篇文章!

于 2013-04-04T08:31:05.767 回答
0

首先:

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

您可以使用mysqli_*mysql_.

其次,如果您对面向对象编程有所了解,则可以按照其他答案中的建议使用 PDO。

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

于 2013-04-04T08:31:20.660 回答