0

我正在将网站从 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

4 回答 4

0

尝试将数据库名称添加到查询中

"SELECT mainPhone FROM tradeport.admins"
于 2012-09-11T15:47:58.837 回答
0

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

尝试:

$result21=mysql_query($sSQL, $link) or die ("MySQL err: ".mysql_error()."<br>".$sSQL);
于 2012-09-11T15:50:22.137 回答
0

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

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

我认为您提供的代码片段并没有向我们展示全貌。

于 2012-09-11T16:01:01.290 回答
0

我已经尝试过了,它给了我这个错误作为回报:SELECT command denied to user ''@'localhost' for table – Trig3rz 20 分钟前

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

您可能想检查原始服务器上的 php.ini 文件,看看有什么不同。 <?是 php 短标签,它在 php ini 文件中使用以下行启用:

short_open_tag=On
于 2012-09-11T16:07:29.977 回答