下面的脚本是连接到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());
}
?>
答案 0 :(得分:7)
这不是说实话的最佳方式......
define()
。在我看来,PHP允许函数名称的混合大小写是一个糟糕的选择。define()
该数据时,您将其设为全局数据。当您立即使用它时,没有理由让它全局化。 @
)。不要那样做。mysqli_connect()
,虽然优于mysql_connect()
,但它不是PDO(尽管这是主观的)。$dbc
是一个全局变量。如果将它封装在一个对象中,并使用其公共方法进行查询等,则会更好。trigger_error()
已经过时了。您应该使用exceptions。另外,请确保错误报告不会以最终用户的输出结束。?>
结束标记。通常recommended在文件中省略它,因为 Headers已发送类型错误通常会出现问题。......但也许我只是在挑剔:P
答案 1 :(得分:1)
始终使用对象来管理资源(比如数据库连接是一种资源)。
答案 2 :(得分:0)
没有“最佳”方式连接数据库。在我看来,最好将所有这些包装到PDO对象中,以便于准备好的语句和隐蔽的设计。
话虽如此,你的方法无论如何都不错。