2014-10-30 61 views
0

我有MySQLi的麻烦。MySQL不会连接

每次运行此代码时,它都会在line 13(mysql_select_bd())上返回错误。

我不知道问题出在哪里。

代码:

<?php 

$conn_error = 'Could not connect'; 
$mysqli_host = 'localhost'; 
$mysqli_user = 'root'; 
$mysqli_password = ''; 
$mysql_db = 'a_database'; 

@$mysqli_conn = mysqli_connect($mysqli_host, $mysqli_user, $mysqli_password); 

mysqli_select_db('a_database', $mysqli_conn); 

?> 
+1

http://docs.php.net/manual/en/mysqli .construct.php - 请看看示例中的错误处理。您需要检查每个步骤,即脚本中每一个mysqli_ *函数的返回值,否则像您遇到的错误会导致您无法正常工作。 – VolkerK 2014-10-30 07:52:19

回答

3

你有功能的不正确使用:

mysqli_select_db('a_database', $mysqli_conn); 

的连接必须是第一位的数据库名称前的参数:

mysqli_select_db($mysqli_conn, 'a_database'); 
       //^connection object, then database name 

或者,你也可以这样做:

$mysqli_conn = mysqli_connect($mysqli_host, $mysqli_user, $mysqli_password, $mysql_db); 

还是面向对象的接口:

$mysqli_conn = new mysqli($mysqli_host, $mysqli_user, $mysqli_password, $mysql_db); // personal preference 
+0

*啊是的* ...的确如此。它确实排在第一位。 – 2014-10-30 07:43:47

+0

@ Fred-ii-是的,它很容易找出什么是错的 – Ghost 2014-10-30 07:46:39

+0

我只是想知道为什么OP有'$ mysql_db ='a_database';'开始。 – 2014-10-30 07:47:20

0

而不是做,你可以做这样的事情的:

$conn = mysqli_connect('localhost', 'root', '', 'a_database');