下面的脚本是连接到 mysql 数据库的最佳方式吗?如果不是,我应该如何改进下面的脚本?
<?php
DEFINE ('DB_USER', 'a');
DEFINE ('DB_PASSWORD', '');
DEFINE ('DB_HOST', 'localhost');
DEFINE ('DB_NAME', 'c');
// Make the connection:
$dbc = @mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
if(!$dbc){
trigger_error('Could not connect to MySQL: ' . mysqli_connect_error());
}
?>
最佳答案
说实话,这远不是最好的方式......
- 你应该使用
define()
像其他人一样小写。在我看来,PHP 允许混合大小写的函数名称是一个糟糕的选择。 - 当您
define()
数据时,您就将其设为全局。当您立即使用它时,没有理由将其设置为全局。 - 您的评论是多余的。它应该解释为什么,而不是什么。很明显,您正在连接到那里的数据库。
- 您使用错误抑制运算符 (
@
)。不要那样做。 - 您使用
mysqli_connect()
,虽然比mysql_connect()
好,但它不是 PDO (尽管这是主观的)。 $dbc
是一个全局变量。最好把它封装在一个对象中,用它的公共(public)方法来查询等。-
trigger_error()
老了。你应该使用 exceptions .此外,确保错误报告不会出现在最终用户的输出中。 - 您使用
?>
结束标记。一般是recommended在文件中省略它,因为它通常是 Headers already sent 类型错误的问题。
...但也许我只是吹毛求疵:P
关于PHP & MySQL - 数据库连接问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5797998/