Solved

PHP MySql Error

Posted on 2001-08-14
12
231 Views
Last Modified: 2006-11-17
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
0
Comment
Question by:g_handa
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
  • 2
  • +4
12 Comments
 

Expert Comment

by:phlc
ID: 6385622
check if the user you are connecting have permissions on this database.
0
 
LVL 10

Expert Comment

by:Chad Smith
ID: 6385752
$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
 

Expert Comment

by:phlc
ID: 6385787
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
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 

Author Comment

by:g_handa
ID: 6387079
Ho do I need to set permissions
0
 

Expert Comment

by:fcatak
ID: 6387228
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
 

Expert Comment

by:fcatak
ID: 6387310
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
 
LVL 8

Accepted Solution

by:
AJAY CHADHA earned 100 total points
ID: 6454055
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
 
LVL 3

Expert Comment

by:DarinB
ID: 6462465
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
 
LVL 11

Expert Comment

by:jimmy282
ID: 6501925
Hey Man, Two Simple Lines!
<?
mysql_connect("localhost","user","password") or die(mysql_error());
mysql_select_db($db_name);
?>

Jimmy

0
 

Author Comment

by:g_handa
ID: 6501974
Hello jimmy282

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

g_handa
0
 

Author Comment

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

shubie
0
 
LVL 3

Expert Comment

by:DarinB
ID: 6506209
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

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Author Note: Since this E-E article was originally written, years ago, formal testing has come into common use in the world of PHP.  PHPUnit (http://en.wikipedia.org/wiki/PHPUnit) and similar technologies have enjoyed wide adoption, making it possib…
Many old projects have bad code, but the budget doesn't exist to rewrite the codebase. You can update this code to be safer by introducing contemporary input validation, sanitation, and safer database queries.
The viewer will learn how to look for a specific file type in a local or remote server directory using PHP.
The viewer will learn how to create a basic form using some HTML5 and PHP for later processing. Set up your basic HTML file. Open your form tag and set the method and action attributes.: (CODE) Set up your first few inputs one for the name and …

752 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question