【问题标题】:php script connecting to my SQL database连接到我的 SQL 数据库的 php 脚本
【发布时间】:2012-10-22 05:52:11
【问题描述】:

尝试使用 PHP 连接到我的数据库时出现错误。

$connect = mysql_connect("localhost","username","password") or die ("Couldn't Connect!");
mysql_select_db("databasename") or die ("Couldnt find database");

当我尝试运行脚本时,它一直显示'Couldnt find database',这意味着我正在连接到服务器,但我的数据库无法连接。

我在这里做错了吗?我已经从 Cpanel 复制并粘贴了我的数据库名称,所以我知道没有任何错误。但在 Cpanel 中显示为 'mywebsite'_database

有什么想法吗?

【问题讨论】:

  • 你试过用mywebsite_database作为数据库名吗?
  • 您可以直接查询show databases; 来获取所有数据库的列表,而不是选择数据库。你的会在某个地方列出,并直接从 db 的嘴里告诉你它的确切名称。
  • 是的,例如我的数据库名称是 domain_phplogin 这就是我在连接中输入的原因,但它仍然没有显示

标签: php sql database cpanel


【解决方案1】:

您在问题中指定您的数据库被调用:

'我的网站'_数据库

如果是这种情况,那么您需要将代码更改为

// Connect to the database
$connect = mysql_connect("localhost","username","password") or die ("Couldn't Connect!");

// Select the database
mysql_select_db("mywebsite_databasename",$connect) or die ("Couldnt find database");

如果上述方法不起作用,那么我建议您通过列出该特定用户的数据库来调试您的连接。这样做:

// Connect to the database
$connect = mysql_connect("localhost","username","password") or die ("Couldn't Connect!");

// Get all the databases for this particular user
$databases = mysql_list_dbs($connect);

// Loop through the databases and write them on the screen
while($database = mysql_fetch_assoc($databases)) {
     echo $database['Database']."\n";
}

exit;

【讨论】:

  • 谢谢,我这样做了,但它仍然说找不到数据库,其余的代码对吗?
  • @BenJShapiro 哦,错过了一件关键的事情,现在检查! :-)
  • 是的 :-) 但我认为可能还有另一个问题,我建议通过列出该特定用户的数据库来进行调试。在 30 秒内查看我的编辑 :-)
  • 非常感谢本,我不再收到该错误消息,但我现在得到的只是一个空白页,就像之前我会得到“请输入用户名和密码!”
  • @BenJShapiro 我已经写了exit;,它阻止了脚本继续前进。这可能就是为什么:-)
【解决方案2】:

打印出服务器中所有数据库的名称(使用mysql_list_dbs)。

找到正确的数据库名称并用它替换“databasename”。

$connect = mysql_connect("localhost","username","password") or die ("Couldn't Connect!");

$db_list = mysql_list_dbs($connect);

while ($row = mysql_fetch_object($db_list)) {
     echo $row->Database . "\n";
}

mysql_select_db("databasename", $connect) or die ("Couldnt find database");

我建议使用 MySQLi 扩展,因为 mysql_* 目前处于折旧过程中。

希望对你有帮助

【讨论】:

  • 您能否为您的帖子提供更多解释?这个答案非常稀疏。
  • 当我尝试这个时,我得到了,'information_schema 找不到数据库'
  • 它们是相同的答案 - 很高兴你最终将其排序 =)
【解决方案3】:

mysql_select_db("mywebsite_database")

【讨论】:

  • 您能否为您的帖子提供更多解释?这个答案非常稀疏。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-25
  • 2014-11-12
相关资源
最近更新 更多