mysqlConnect的正确过程

时间:2010-02-13 19:38:48

标签: php mysql connection

我是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关闭连接,我可以遇到什么问题?

3 个答案:

答案 0 :(得分:1)

其他mysql_*()函数将使用最新调用mysql_connect()mysql_pconnect()创建的连接。如果由于某种原因您需要多个连接,则以这种方式信任隐式连接对象将失败。更好的方法是自己存储连接对象并将其传递到任何需要的地方。

答案 1 :(得分:1)

  1. 关于使用if代替or,无关紧要。 or短路,因此如果连接有效,die(...)将不会被执行。使用任何一种都是优先考虑的问题。如果要在保留or调用结果的同时使用mysql_connect()版本,只需将整个表达式分配给变量:

    $connection = mysql_connect(...) or die('Connection failed.');
    
  2. 在完成所有数据库通信后,应使用
  3. 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();
  }
?>