如何将php连接到mysql数据库?

时间:2016-06-23 00:28:57

标签: php mysql

我正在为网站制作搜索引擎,之前我从未使用过PHP,而且我一直尝试使用以下代码将我的网页连接到mysql数据库:

   $dbhost = 'hosthere';
   $dbuser = 'usernamehere';
   $dbpass = 'passwordhere';
   $conn = mysql_connect($dbhost, $dbuser, $dbpass);
   if(! $conn )
   {
     die('Could not connect: ' . mysql_error());
   }
   echo 'Connected successfully';

但我也读过不要使用mysql_ *函数,因为它们很快就会无法使用,但我还没有在其他任何地方看到它。

我要连接的旧代码是:

  define('DB_SERVER', 'serverhere');
  define('DB_SERVER_USERNAME', 'usernamehere');
  define('DB_SERVER_PASSWORD', 'passwordhere');
  define('DB_DATABASE', 'databasehere');
  define('STORE_DB_TRANSACTIONS', 0);
  define('DEBUG', 0);

  db_connect() or die('Unable to connect to database server!');

我应该坚持使用它还是使用顶部的代码?

2 个答案:

答案 0 :(得分:3)

在这里,使用PDO。

define("SQLHOST", "127.0.0.1");
define("SQLUSER", "login");
define("SQLPASS", "password");
define("SQLSGBD", "database");

$conn = new PDO('mysql:host=' . SQLHOST . ';dbname=' . SQLSGBD . ';charset=UTF8', SQLUSER, SQLPASS);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql1 = 'SELECT * FROM table where field1=?';
$stmt1 = $conn->prepare($sql1);

$field1="test";
$stmt1->bindParam(1, $field1, PDO::PARAM_STR);

try {
    $stmt1->execute();
    $result = $stmt1->fetchAll(PDO::FETCH_ASSOC);
} catch (PDOException $e) {
    if ($showError === true) {
        var_dump("error query 1:" . __LINE__ . "-------" . __FUNCTION__ . "-------" . $e->getMessage());
        exit;
    }
}

答案 1 :(得分:0)

http://php.net/manual/en/function.mysql-connect.php

解释了这一点

您应该使用其中一个扩展名:MySQLi或PDO_MySQL

使用MySQLi,您基本上将i添加到新版本的代码中(不要使用旧代码),可以在此处找到更多信息:http://php.net/manual/en/function.mysqli-connect.php。 否则请查看http://php.net/manual/en/pdo.construct.php

希望这有帮助。