2011-03-14 41 views
0

这里是皮包骨架 - 我可以连接到我的数据库就好,但当我尝试访问我的表内数据库时,我不断收到此错误代码:PHP使用mysql_select_db:接收“不是有效的MySQL链接资源”错误

Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in /var/www/clients/client11/web31/web/update.php on line 11 

这里是我的update.php代码

<?php 
$db_name = "X"; 
$db_pass = "X"; 
$db_user = "X"; 
$db_host = "localhost"; 

$con = mysql_connect($db_host,$db_user,$db_pass) || die(mysql_error()); 


$select = mysql_select_db('gold_market',$con) || die(mysql_error()); 

?> 

帮助。请。

+0

奇怪。但尝试:var_dump($ con); – 2011-03-14 04:09:49

回答

0

我使用or die()不是|| die() 我不知道它是否有所作为,但其值得一试。

+0

||是或运营商 – 2011-03-14 04:23:52

+0

我知道,只是不知道是否使用“或”或“||”有所作为。 – nkcmr 2011-03-14 04:25:08

+0

我不这么认为。尽管我看到的所有例子都使用OR。也许OR早于||。 – 2011-03-14 04:30:35

1

它看起来好像没有连接。你应该检查mysql_connect()的结果。使用更冗长的代码可能会更容易一些。 PHP手册有一个很好的例子: http://php.net/manual/en/function.mysql-connect.php

<?php 
$db_name = "X"; 
$db_pass = "X"; 
$db_user = "X"; 
$db_host = "localhost"; 

$con = mysql_connect($db_host, $db_user, $db_pass); 
// var_dump($con); // you can uncomment this for debugging. 
if (!$con) { 
    die('Could not connect: ' . mysql_error()); 
} 
echo 'Connected successfully'; 
mysql_close($con); 

一个侧面说明: mysql_select_db就像是 “USE DBNAME”。它不会“访问数据库内的表”。

+0

感谢您的输入。与数据库的连接非常好,我在发布之前使用了更详细的代码。但是,我确实实现了更详细的代码,现在正在接收此错误:已成功连接拒绝用户'c11tgm'@'localhost'到数据库'gold_market'的访问...就我而言,我拥有正确的权限 - 我甚至登录到phpmyadmin作为确切的用户。 – tjw 2011-03-14 04:52:14

+0

@nanewk:有时用户的主机部分被忽略。确保c11tgm的主机是本地主机。另一个原因可能是你的数据库在另一台主机上。它是同一台机器吗? – 2011-03-14 05:36:14

+0

我可以连接到phpMyAdmin并使用相同的登录信息运行查询。 – tjw 2011-03-14 17:33:25

1

试试这个

<?php 
    $db_name = "X"; 
    $db_pass = "X"; 
    $db_user = "X"; 
    $db_host = "localhost"; 

    $con = mysql_connect($db_host,$db_user,$db_pass); 
    if (!$con) { 
      die('Could not connect: ' . mysql_error()); 
      }  
    $select = mysql_select_db('gold_market',$con) or die(mysql_error()); 

    ?> 
+0

访问拒绝用户'c11tgm'@'localhost'到数据库'gold_market' – tjw 2011-03-14 04:57:11

+0

嗯...您的凭据是否正确?是本地主机? – Eva611 2011-03-14 05:42:45

+0

@ eva611还是应该试试var_dump($ con) – ellieinphilly 2011-03-14 04:20:18

0

对我来说,这似乎是通过mysql_select_db语法。你有没有尝试过这样的事情:

$con = mysql_connect($db_host, $db_user, $db_pass); 
if (!$con) { 
    die('Not connected : ' . mysql_error()); 
} 

$select = mysql_select_db('gold_market', $con); 
if (!$select) { 
    die ('Table unavailable : ' . mysql_error()); 
} 
+0

表不可用:访问拒绝用户'c11tgm'@'localhost'到数据库'gold_market' – tjw 2011-03-14 05:13:45

相关问题