2013-02-04 203 views
1

我最近开始用PHP创建一个网站。我的大部分代码正在工作,但是我发现了一个问题,我无法纠正。PHP“没有选择数据库”

我有一个页面,有很多的数据库调用。在我的页面顶部,我正在连接并使用SELECT来获取关于相关产品的一些信息。

在页面的底部,我再次连接获取相关产品的评论。

我的代码是非常漫长的,所以很难对我来说,在这里展示,但此代码的基础如下:

PHP CODE 
    SELECT's 
    UPDATE's 

HTML 
    TABLE's 
    IMAGE's 
    ect... 

PHP 
    SELECT's 

我的代码成功运行了我所有的代码,当我第一次加载了然而,当我点击一个按钮来更新表格(在代码的顶部)时,更新被处理,但页面底部的评论部分带来下面的错误:

“no database selected “。

从页面顶部和页面底部的两个选择都连接到同一个数据库和同一个表。另外,在单击更新按钮之前,带回错误的注释部分正常工作。

在我的代码表示,错误发生的代码是:

$commResult = mysql_query("SELECT u.id, u.USERNAME, c.COMMENT, c.DATE_ADDED, c.ACTIVE FROM USERS u, COMMENTS c WHERE c.box_id = $boxId ORDER BY c.DATE_ADDED DESC") or die (mysql_error());; 

while ($row = mysql_fetch_array($commResult)) 
{ 
    //Do processing here. 
} 

我连接到数据库的代码。这是在一个单独的文件,我使用require_once(config.php);在我的代码需要连接到数据库的每一页的顶部调用它。

$username = "user"; 
$password = "password"; 
$hostname = "localhost"; 

//connection to the database 
$dbhandle = mysql_connect($hostname, $username, $password) 
or die("Unable to connect to MySQL"); 

//select a database to work with 
$selected = mysql_select_db("databasename",$dbhandle) 
or die("Could not select databasename"); 
+0

向我们展示您选择数据库的代码片段(通过'mysql_select_db'或原始查询) – madfriend

+0

您的数据库连接未建立,因此会给出错误。再次检查您的连接。 –

+0

值得指出的是名为'mysql_xxx()'的函数已被弃用,不推荐再使用。应该编写新的PHP代码以使用'mysqli_xxx()'函数或PDO库。 – SDC

回答

3

我相信你可能会在脚本的顶部打开MySQL连接,关闭它并重新打开它,而不会忘记选择数据库。

如果您使用的是旧版mysql_功能(你真的不应该再被使用新代码,看看MySQLiPDO),那么你可能已经忘记了这行代码:

mysql_select_db("databaseName"); 

或者,如果你使用“原始查询”,你可能会丢失这条线:

mysql_query("USE databaseName"); 

虽然它可能不值得关闭数据库连接相同的脚本,它可能是一个更好的主意,让它贯穿整个剧本。

+0

我已更新我的问题以显示我的连接代码。我正在使用mysql_select_db()我想我正在使用mysql_close();在我的代码在页面的顶部某处。你认为这是导致错误的原因吗?只是调用mysql_close()会是安全的吗?在所有脚本被调用后,在页面的底部? –

+0

@GlenRobson找出你是否正在使用'mysql_close()'。如果你关闭了连接并且没有正确地重新打开连接,那可能是问题所在。 –

+0

好吧,不好看看,回到你身边。 –

1

您是否拨打mysql_select_db("Your Database Name")mysql_query("Your Database Name", "Query")

是的,你最好不要使用mysql,而是使用mysqli。

+0

我已更新我的问题。什么是mysqli? –

+0

MySQLi - MySQL php扩展的改进版本。它比mysql更快更安全。 – Xazzzi