2014-10-30 55 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');