2016-11-09 76 views
0

我努力地试图连接到数据库,但我失败了,我使用XAMPP和PHP 7.0.8,很迷茫,我不知道我应该如何访问我的数据库。 有人可以帮我吗?我试图连接到数据库的XAMPP,但其失败

这里是我的代码:

mysql_connect("localhost", "root", "") or die (mysql_error()); 
+0

而“我正在努力尝试”和“我失败”意味着什么_exactly_? – arkascha

+2

在php 7中不支持mysql - 使用mysqli这个扩展在PHP 5.5.0中被弃用,并且在PHP 7.0.0中被删除。 http://php.net/manual/en/mysql.installation.php – jeff

+0

谢谢,阿卡斯卡它给了我一个线索 –

回答

1

首先你要的mysqli_代替mysql_原因mysql_是因为PHP 5.5.0过时。

连接到任何数据库有3个选项,你可以用php来处理它。

库MySQLi面向对象

<?php 
$servername = "localhost"; //the host 
$username = "username"; // the db_username 
$password = "password"; //the db_paswword 
$dbname = "dbanme"; //your databasename 

// do a new connection here 
$conn = new mysqli($servername, $username, $password); 

// echeck here for errors 
if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 
echo "Connected successfully"; 
?> 


库MySQLi程序

<?php 
$servername = "localhost"; 
$username = "username"; 
$password = "password"; 

// Create connection 
$conn = mysqli_connect($servername, $username, $password); 

// Check connection 
if (!$conn) { 
    die("Connection failed: " . mysqli_connect_error()); 
} 
echo "Connected successfully"; 
?> 


PDO

<?php 
$servername = "localhost"; 
$username = "username"; 
$password = "password"; 

try { 
    $conn = new PDO("mysql:host=$servername;dbname=myDB", $username, $password); 
    // set the PDO error mode to exception 
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
    echo "Connected successfully"; 
    } 
catch(PDOException $e) 
    { 
    echo "Connection failed: " . $e->getMessage(); 
    } 
?> 

和至少你必须关闭与此3个参数的连接

  1. 对于MySQLi的面向对象是:$conn->close();
  2. 对于MySQLi的程序是:mysqli_close($conn);
  3. 对于PDO它是:$conn = null;

那么你现在应该使用什么最好的?

双方的MySQLi和PDO有自己的优势:

PDO将工作在12个不同的数据库系统,那里的库MySQLi将只与MySQL数据库工作。

因此,如果您必须将您的项目切换到使用其他数据库,PDO使流程变得简单。您只需更改连接字符串和一些查询。使用MySQLi,您需要重写整个代码 - 包括查询。

两者都是面向对象的,但MySQLi还提供了一个过程式API。

两者都支持Prepared Statements。准备好的语句可以防止SQL注入,并且对于Web应用程序安全性非常重要。

+0

完美,我明白了! MySQLi面向对象为我工作。我只是一个初学者,PDO对我来说看起来很复杂。 –

+0

@CENTCI你可以接受答案,如果它帮助:) – Blueblazer172

+0

不幸的是我不能投票,因为你知道我是一个初学者,我需要积累一些积极的一面。但非常感谢@ Blueblazer172 –

2

您需要使用mysqli而不是mysql。由于mysql扩展现在是deprecated。 以下是syntaxmysqli

mysqli_connect(host,username,password,dbname,port,socket);