2011-10-20 63 views
0

我必須做一些錯誤的PHP沒有找到mySQL數據庫?

我有一個非常簡單的腳本和一個非常簡單的數據庫 不知道爲什麼它不工作..

請幫

<?php 

error_reporting(E_ALL); 

$link = mysql_connect('localhost', 'root', 'password'); 
if(!$link) 
{ 
    die('Could not connect: ' . mysql_error()); 
} 

$database = mysql_select_db('test_db', $link); 
if(!$database) 
{ 
    die('Could not connect to database: ' . mysql_error()); 
} 

$result = mysqli_query($link, "SELECT forename FROM users WHERE id='1'"); 
if(!$result) 
    echo 'PROBLEM'; 
$row = mysqli_fetch_array($result); 
echo $row[0]; 

?> 

它甚至沒有給予任何錯誤,只是迴應'問題'...

數據庫連接正常,並且數據庫中有1個用戶ID爲1,前綴爲Cristian。

+7

起結果,嘗試'回聲mysql_error();'而不是'回聲 '問題' ;'得到一個有意義的消息,而不僅僅是PROBLEM。 –

+0

這可能根本不涉及,但我建議不要將mysqli和mysql調用混合在一起,如果你有機會訪問mysqli - 對所有人都使用它:) –

回答

5

$result = mysqli_query嘗試只期運用$result = mysql_query同樣在$row = mysqli_fetch_array應該幫助

嘗試保換您從$代碼與此

$result = mysql_query("SELECT forename FROM users WHERE id='1'"); 
if(!$result) 
    echo 'PROBLEM'; 
$row = mysql_fetch_array($result); 
echo $row[0]; 

?> 
+0

你能解釋一下你的推理嗎? –

+5

這是正確的答案。詳細說明,OP使用mysql_函數進行連接,但他使用mysqli_函數進行查詢和提取。 mysqli_函數完全不知道mysql_函數所做的連接。解決方案是隻使用mysql_或mysqli_函數。它們不能來回交換。 – Kibbee

+0

以上答案不起作用,它仍然迴應問題。將問題更改爲mysql_error不會導致錯誤。至於混合mysql和mysqli函數,我過去這樣做並沒有遇到任何問題,儘管現在我會改變它。我想可能有一個問題,從數據庫中讀取的PHP?還有什麼想法? – Cristian