网站迁移到雪豹服务器后,“没有数据库选择”

时间:2012-09-11 15:44:33

标签: php mysql osx-snow-leopard

我正在将一个网站从Windows服务器迁移到雪豹服务器(确切地说是OSX 10.6.8),我遇到了与我的mysql查询的几个兼容性问题。每个查询都返回“没有选择数据库”错误,我无法理解它。我已经做过一些研究,但却无法找到我想要的答案。以下是一些可能有助于解决我的问题的指标。

这是我的连接文件包括:

$link = mysql_connect("localhost", "username", "password") or die("Invalid query: " . mysql_error());
mysql_select_db("tradeport", $link) or die("Database Connection Error: ".mysql_error());

以下是我的一个问题:

$sSQL="SELECT mainPhone FROM admins";
$result21=mysql_query($sSQL) or die ("MySQL err: ".mysql_error()."<br>".$sSQL);

if($row21 = mysql_fetch_array($result21))
{$phoneMain = $row21['mainPhone'];}

我想补充的另一个注意事项是,当我开始在此网站上迁移时,所有的PHP都显示在页面源中。我不得不用更正式的替换所有的PHP括号,如下所示:

<? //before

<?php //after

我目前正在运行PHP版本5.3.8和MySQL版本5.0.92。

任何信息都会被大大贬低。

4 个答案:

答案 0 :(得分:0)

尝试将db名称添加到查询

"SELECT mainPhone FROM tradeport.admins"

答案 1 :(得分:0)

mysql_*mysqli_*(您应该使用的)函数调用中引用数据库连接始终是个好习惯。

尝试:

$result21=mysql_query($sSQL, $link) or die ("MySQL err: ".mysql_error()."<br>".$sSQL);

答案 2 :(得分:0)

你说你看到错误信息,“没有选择数据库”,这让我想知道你是否真的在执行mysql_select_db代码行,因为它的错误信息是“数据库连接错误:”,然后是mysql错误代码

此外,包含文件获取用户名和密码的值在哪里?你刚才引用了文字字符串,起初我认为这是出于安全目的。

我认为您提供的代码片段并未向我们展示整体情况。

答案 3 :(得分:0)

  

我试过了,它给了我这个错误的回复:SELECT命令   否认用户'''localhost'表 - Trig3rz 20分钟前

检查是否使用正确的权限设置了数据库用户 GRANT SELECT ON db。* TO user @'localhost'IDENTIFIED BY'pass';

您可能需要检查原始服务器上的php.ini文件,以查看它们之间存在的差异。 <?是php短标签,它在php ini文件中使用以下行启用:

short_open_tag=On