2011-10-20 43 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