2013-11-27 129 views
0

在使用include_once(“include/config.php”)的每个页面上,它只是弹出此错误:没有选择数据库。我不知道问题出在哪里...Mysql - 未选择数据库

我尝试了其他很多东西,我发现谷歌,但仍然没有线索是什么问题。

<? 
    $lcMysqlServer = "localhost"; 
    $lcMysqlUser = "root"; 
    $lcMysqlPassword = ""; 
    $lcMysqlUserDatabase = "shop"; 
    $gnDbConn = mysql_connect($lcMysqlServer, $lcMysqlUser, $lcMysqlPassword) or die ("Error while connecting to server! : ".mysql_error()); 
    mysql_select_db($lcMysqlUserDatabase, $gnDbConn) or die("Error at selecting the database ".$lcMysqlUserDatabase."! : ".mysql_error()); 
    ?> 
+0

@ethrbunny它被定义为'shop' –

+4

不要使用'mysql_ *',而是使用'mysqli_ *'或'PDO'。 –

+0

你的意思是'mysql_select_db()'返回'true',但你得到那个消息吗?它既不是PHP错误信息(包括文件和行号),也不是您输入的文本? –

回答

0

您共享的代码中没有任何内容应该具有此效果。我发现获得No database selected文本的唯一方法是调用mysql_select_db()与空的参数和打印mysql_error()的输出:

mysql_select_db('', $gnDbConn) 
    or die(mysql_error()); 

...或删除mysql_select_db()呼叫并发出数据库查询:

mysql_query('select * from foo') 
    or die(mysql_error()); 

任何像你的代码将进一步输出:

mysql_select_db('invalid-database', $gnDbConn) 
    or die('Error while connecting to server! : ' . mysql_error()); 

Error while connecting to server! : Access denied for user 'root'@'%' to database 'invalid-database'

所以错误必须在别的地方。温馨提示:

  • 请确保您有完整的错误报告
  • 使用编辑器的搜索结果在文件功能的隔离mysql_error()电话
  • 查找数据库调用之前include_once("include/config.php")
  • 确保您不使用mysql_select_db()内功能