PHP MySql Error

Here is my script

$db_name = "abc_db";
$table_name = "abc_table";
$link = @mysql_connect("localhost", "user", "password") or die("Could not connect to server!");
$select_db = @mysql_select_db($db_name, $link) or die("could not select database");

I'm getting the error that "could not select database" but the databse and table actually exists and I can query them at MySql Prompt.

Please help
g_handaAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

phlcCommented:
check if the user you are connecting have permissions on this database.
0
Chad SmithSoftware EngineerCommented:
$select_db = @mysql_select_db($db_name, $link) or die("could not select database");

This line is creating the error, the function does not return a value, so you don't need to catch it.

$db_name = "abc_db";
$table_name = "abc_table";
$link = @mysql_connect("localhost", "user", "password") or die("Could not connect to server!");
mysql_select_db($db_name, $link) or die("could not select database");
0
phlcCommented:
retrivied from PHP Manual at http://www.php.net

mysql_select_db

(PHP 3, PHP 4 >= 4.0b1)

mysql_select_db -- Select a MySQL database

Description

bool mysql_select_db (string database_name [, resource link_identifier])

 Returns: TRUE on success, FALSE on error.
          ***************  **************

you dont need put the result in a var, but you can do this!
0
Cloud Class® Course: Microsoft Windows 7 Basic

This introductory course to Windows 7 environment will teach you about working with the Windows operating system. You will learn about basic functions including start menu; the desktop; managing files, folders, and libraries.

g_handaAuthor Commented:
Ho do I need to set permissions
0
fcatakCommented:
Check your db table on mysql database.

mysql>select* from db;
you will see the user permissions for databases on MySQL.
Maybe Something wrong with the permissions.
0
fcatakCommented:
Check your db table on mysql database.

mysql>select* from db;
you will see the user permissions for databases on MySQL.
Maybe Something wrong with the permissions.
0
AJAY CHADHACommented:
close the mysql dos window and then try again. Same thing hapened with me also some days back and I solved it by closing the mysql prompt.

It happens only if you have shareware version of Mysql.

Ajay Chadha
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
DarinBCommented:
First, change the following:

*********************************
$link = @mysql_connect("localhost", "user", "password") or die("Could not connect to server!");
$select_db = @mysql_select_db($db_name, $link) or die("could not select database");
*********************************

TO:

**********************************
$link = mysql_connect("localhost", "user", "password");
echo mysql_error();
$select_db = mysql_select_db($db_name, $link);
echo mysql_error();
**********************************

This will echo to screen the reason that MySQL is refusing your dB select.

There are many reasons this could be happening.

darin
0
jimmy282Commented:
Hey Man, Two Simple Lines!
<?
mysql_connect("localhost","user","password") or die(mysql_error());
mysql_select_db($db_name);
?>

Jimmy

0
g_handaAuthor Commented:
Hello jimmy282

I don't know who you are but you can see the previous commnets before posting your.

g_handa
0
g_handaAuthor Commented:
I still have not concluded what the problem was but chadhaajay your suggestion did helped sometimes. I really don't know why..???

shubie
0
DarinBCommented:
Hi g handa,

You said you don't know why the error is happening.
Did you echo to the screen, the error that MySQL was sending back to PHP?? (see my previous comment)

This will tell you exactly why MySQL is refusing your database selection. You can then make a permanent fix, not one that works sometimes.

Curious why you award an "A" to a comment that works only sometimes??

darin
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
PHP

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.