2013-05-22 97 views
2

所以我做了一個超級簡單的網站只是爲了練習,你在頁面上顯示的內容中輸入了一些內容,但它不會工作,我認爲它將它縮小到開始連接到數據庫的起點從php連接到mysql數據庫,錯誤但沒有顯示錯誤?

$server ="localhost"; 
$username ="root"; 
$password ="********"; 
$database ="user_accounts"; 
$connect=mysqli_connect($server,$username,$password,$database); 

if (mysqli_connect_errno()) 
    { 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
    } 

進出口運行使用Apache/2.2.22(Debian的)的MySQL我的服務器,PHP 5.4.4-14和版本14.14 DISTRIB 31年5月5日,爲Debian的Linux-GNU(armv7l)使用readline的6.2 和我我注意到,即使我錯誤地輸入了密碼,它不會'回顯'錯誤行,所以我的問題是我是否像這樣連接到本地主機,或者我在那裏做了其他錯誤?

+0

另外我討厭使用根登錄,如果有人可以給我的SQL代碼,使讀寫用戶只有幫助了很多 – user1895629

回答

1

嘗試這樣:

if ($mysqli->connect_errno) { 
    printf("Failed to connect: %s\n", $mysqli->connect_error); 
    exit(); 
} 
+1

恩沒有做任何不同的事情... – user1895629

1

你能試試這個

<?php 
$mysqli = @new mysqli('localhost', 'root', '*******', 'user_accounts'); 

if ($mysqli->connect_errno) { 
    die('Connection Error: ' . $mysqli->connect_errno); 
} 
?> 
1

連接像下面

<?php 
$link = @mysqli_connect('localhost', 'root', '*******', 'user_accounts'); 

if (!$link) { 
    die('Connect Error: ' . mysqli_connect_errno()); 
} 
?> 

下面是對你的要求

創建用戶的MySQL腳本

用戶newuser與沒有密碼連接(這是不安全的),包括無IDENTIFIED BY子句:

CREATE USER 'newuser'@'localhost'; 

要指定密碼新創建的用戶newuser,使用標識通過與所述明文口令值:

CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'mypass'; 

如果知道它的散列值(PASSWORD()將返回密碼值),請避免指定明文密碼,請指定以關鍵字PASSWORD開頭的散列值:

CREATE USER 'newuser'@'localhost' 
IDENTIFIED BY PASSWORD '*90E462C37378CED12064BB3388827D2BA3A9B689'; 

然後你就可以在你想的是newuser

GRANT SELECT,INSERT,UPDATE,DELETE ON user_accounts.* TO 'newuser'@'localhost';

什麼都GRANT訪問您可以使用此link生成散列碼。