0

我有这个查询:

mysql_select_db('scanner');
$query = "SELECT * FROM scanner.proxy ORDER BY RAND() LIMIT 20";
$result = mysql_query($query) or die(mysql_error());

它告诉我:'scanner.proxy' 不存在.. 即使我确实有它与数据库的表。这很奇怪,因为我的其他查询有效..但这个没有。

更新:

当我把这个事件:

$user='root';
            $user='root'
        $password='<removed_password>';
        $dbname = 'scanner';
        $host = 'localhost';
        $link = mysql_connect($host, $user, $password) or die (mysql_error());

mysql_select_db($dbname, $link) or die (mysql_error());

它给了我这个……

未知数据库“扫描仪”

但我可以在 phpmyadmin 中看到扫描仪数据库

即使我在 phpmyadmin 中输入 sql 语句 SHOW TABLES FROM 'scanner'

它说它找不到扫描仪

4

5 回答 5

2

我们通过在每个语句之前添加重新连接方法解决了在同一脚本中连接到多个远程MySQL数据库时发生的这个问题。mysql_queryre-connect 方法调用了mysql_connectmysql_select_db函数。我们之前曾尝试在连接语句中将新的链接参数设置为 true,但我们仍然遇到数据库错误和各种有趣的行为。

于 2012-12-04T18:29:55.597 回答
0

您已设置 $dbname = 'aws_backlinks',但您正尝试在查询中连接到不同的数据库。更改您的连接字符串以包含此数据库,或者只是连接到服务器并在查询时设置您的数据库。

于 2012-05-07T14:15:10.693 回答
0

确保您用来连接的用户有足够的权限来查询该表。也许该表是由另一个用户创建的。

编辑:也许您需要从远程位置授予对扫描仪的访问权限。运行这个 sholud 帮助。

GRANT ALL ON scanner.* TO your_user@'IP_ofServer_where_PHP_runs' IDENTIFIED BY 'PASSWORD';
于 2012-05-07T14:08:45.193 回答
0

$db_host = '本地主机:端口'; 指定本地主机的端口。我遇到了同样的问题,指定端口解决了这个问题。

于 2015-10-14T03:17:02.217 回答
-1

您缺少在 mysql_select_db() 调用中指定连接的参数(mysql_connect() 的结果):

$db_host = 'localhost';
$db_username = 'root';
$db_password = 'whatever';
$db_name = 'scanner';
$link = mysql_connect($db_host, $db_username, $db_password);
mysql_select_db($db_name, $link);
于 2012-05-07T14:15:46.197 回答