【问题标题】:PHP/MySQL select a database? [closed]PHP/MySQL 选择一个数据库? [关闭]
【发布时间】:2012-09-18 07:25:19
【问题描述】:

认为这应该是一件容易的事。我了解如何建立连接,例如:

$con = mysql_connect("localhost","peter","abc123");

localhost 是数据库类型,peter 是用户,abc123 是密码,但是如何指定实际数据库?例如,我的服务器上有 3 个数据库。如何指定database2?

【问题讨论】:

  • 如果您首先阅读PHP manual 会怎样?
  • 一个简单的 www 搜索就会给你答案:(
  • @kmindi 当然,这就是我首先做的,但它并没有给我一个满意的结果,因此提出了问题
  • PHP 手册是所有 PHP 函数的完整且有条理的参考。

标签: php mysql database connection


【解决方案1】:

由于有很多答案表明mysql_select_db('database1'); 得到了更多的支持,我将尝试创建一个完整的答案:

不要使用mysql_select_db('database1'); (你不应该在新的开发项目中使用它,因为它处于弃用过程中)

使用以下方式之一:

您可以像这样使用 PDO:

<?php
    try {
        $dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
        foreach ($dbh->query('SELECT * from FOO') as $row) {
            print_r($row);
        }
        $dbh = null;
    } catch (PDOException $e) {
        print "Error!: " . $e->getMessage() . "<br/>";
        die();
    }
?>

或者你可以使用mysqli:

<?php
   $mysqli = new mysqli("127.0.0.1", "user", "password", "database", 3306);
    if ($mysqli->connect_errno) {
        echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
    }
?>

【讨论】:

    【解决方案2】:

    使用 mysql_select_db()

    mysql_select_db("database");
    

    考虑使用 Mysqli 或 PDO,因为 mysql 扩展的支持越来越少。

    【讨论】:

      【解决方案3】:

      您必须使用mysql_select_db。这是手册中的basic example

      // Connecting, selecting database
      $link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password')
          or die('Could not connect: ' . mysql_error());
      echo 'Connected successfully';
      mysql_select_db('my_database') or die('Could not select database');
      

      请注意,mysql_* 函数已被弃用,并且不鼓励使用它们。您应该使用mysqli_* 系列或PDO,阅读有关choosing a MySQL API on the manual 的更多信息。

      【讨论】:

        【解决方案4】:

        试试这个:

        mysql_select_db("DBNAME") or die('Could not select database');
        

        【讨论】:

          【解决方案5】:

          使用mysql_select_db。不过,我也会跳上普通的潮流,建议你学习 PDO 或 mysqli,因为普通的 mysql 接口目前已被弃用。

          【讨论】:

            【解决方案6】:

            您可以像这样在服务器中选择不同的数据库

            $conn1 = mysql_connect("localhost","peter","abc123"); 
            $conn2 = mysql_connect("localhost","peter","abc123"); 
            
            mysql_select_db('database1', $conn1);
            mysql_select_db('database2', $conn2);
            

            【讨论】:

              【解决方案7】:

              你最好像下面这样使用 mysqli :-

              $mysqli = new mysqli("localhost", "username", "password", "database_name");
              

              建议使用 mysqli 或 PDO_MySQL 扩展。不建议使用旧的mysql扩展进行新的开发。下面提供了详细的特征比较矩阵。所有三个扩展的整体性能被认为是大致相同的。尽管扩展的性能只占 PHP Web 请求总运行时间的一小部分。通常,影响低至 0.1%。

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2012-01-20
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多