我是php语法的新手,正在寻找有关创建最可接受或正确代码的建议。我专注于前端设计,但我想确保我的代码是正确的。我在一个数字媒体程序中,我的讲师给了我们这个代码,用于连接我们的MYSQL数据库。
<?php
mysql_connect("localhost", "root", "root")or die("Cannot Connect to DB");
mysql_select_db("Example")or die("cannot select the DB Example ");
?>
但是,当我在线查看连接脚本时,他们将 mysql_connect 函数设置为变量,例如 $ connect 并运行 if语句说明;如果不是$ connect产生错误, mysql_select_db 也是如此。他们还用mysql_close($ connect)关闭脚本;如下所示
<?php
$connect = mysql_connect("localhost", "root", "root");
if (!$connect)
{
die('Could not connect: ' . mysql_error());
}
$db_selected = mysql_select_db("Example", $connect);
if (!$db_selected)
{
die ("Can\'t use test_db : " . mysql_error());
}
mysql_close($connect);
?>
哪一个更好吗?如果我不用mysql_close关闭连接,我可以遇到什么问题?
答案 0 :(得分:1)
其他mysql_*()
函数将使用最新调用mysql_connect()
或mysql_pconnect()
创建的连接。如果由于某种原因您需要多个连接,则以这种方式信任隐式连接对象将失败。更好的方法是自己存储连接对象并将其传递到任何需要的地方。
答案 1 :(得分:1)
关于使用if
代替or
,无关紧要。 or
短路,因此如果连接有效,die(...)
将不会被执行。使用任何一种都是优先考虑的问题。如果要在保留or
调用结果的同时使用mysql_connect()
版本,只需将整个表达式分配给变量:
$connection = mysql_connect(...) or die('Connection failed.');
mysql_close()
。
答案 2 :(得分:0)
在开始使用数据库之前,你应该知道mysql不再安全并且不推荐使用,你应该使用mysqli。您也可以将它用作面向对象的语言。 更多详情:http://www.php.net/manual/en/book.mysqli.php 例如:
<?php
$con = mysqli_connect("localhost","my_user","my_password","my_db");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
?>