The table is in the SQL statement. "Select * from table_name" If you really want my code it's very long. I will paste in the stuff that's relevant. It's at the bottom.
If it's a PHP matter why does the same code connecting to a 3.23 server work perfectly fine. This same EXACT code works perfectly with the site that is on server 2 (i.e. connecting via localhost NOT server to server). My code: -------------------------- /* This is the code to connect to the database. $dh: host, $du: user, $dp: password, $db: database. Adding debug code showed all information that I wanted to pass was correctly passed. */ if ($config['pconn'] == 1) { $conn = @mysql_pconnect($dh,$du,$dp); } else { $conn = @mysql_connect($dh,$du,$dp); } if (!$conn) { echo "FATAL ERROR: No connection to database.<BR>"; $error = "FATAL ERROR: No connection to database.<BR>\nError: " . mysql_error() . "\nUsed:\n host: " . $dh . "\n user: " . $dp . "\n pass: " . $dp; emailadmin($error); exit; } else { $dbs = @mysql_select_db($db, $conn); if (!$dbs) { echo "FATAL ERROR: Could not select database.<BR>"; $error = "FATAL ERROR: Could not select database.<BR>\nError: " . mysql_error() . "\nUsed:\n host: " . $dh . "\n user: " . $du . "\n pass: " . $dp; emailadmin($error); exit; } else { return $conn; } } } /*function for performing the mysql_query() You will notice the commented out line there, that is the work-around that I employed to force the database name for all the tables (my application uses the xno_ prefix for all tables) I should not have to do that. */ function db_query($query, $dconn = false) { global $conn, $config; if (!$conn) { // if connection isn't there, connect to db $conn = db_connect($config); } if (!$dconn) $dconn = $conn; //if $dconn is false (not using a //different connection) then set it. //$query = str_replace("xno_",$config["dbname"].".xno_",$query); $ret = @mysql_query($query, $dconn); echo db_error(0)."<br>"; //my debug code. return $ret; } On 8/18/03 10:34 AM this was written: > You have selected my_database as database. What about the table? Put some of > your code to clarify the problem. It's a PHP matter. > > Iulian > ----- Original Message ----- > From: "Thomas Deliduka" <[EMAIL PROTECTED]> > To: <[EMAIL PROTECTED]> > Sent: Monday, August 18, 2003 5:14 PM > Subject: Server to Server Connection > > >> I have written this to the PHP-DB list and couldn't get any answers. I > have >> gone through all the documentation I could find. I have been everywhere > and >> cannot find an answer to this problem! Perhaps someone on this list can >> lend me some insight?! >> >> I think, at heart, the problem is with MySQL permissions or some way 4.0 >> handles connections across a network, however I just cannot figure it out. >> >> I'm using PHP 4.3.2+MySQL 4.0.14 on server 1 >> Server 1, however, is connecting to Server 2 which has MySQL 4.0.12 >> >> I have permissions on the 4.0.12 server setup like: >> user: >> localhost user1 all main privs are 'N' except for "File_priv" >> 192.168.1.% user1 all main privs are 'N' except for "File_priv" >> (internal SAN). >> >> db: >> % user11 my_database all main privs set to "Y" (select, >> insert,update, delete, create, drop, references, index, alter) >> >> If I use the command-line interface from server 1 to server 2 it works >> perfectly fine. >> >> I'm using PHP connection to do code like: >> >> $conn = mysql_connect("192.168.1.2","user1","pass"); >> mysql_select_db("my_database",$conn); >> >> mysql_select_db returns true. >> >> My queries are like: >> mysql_query($sql,$conn); >> So I'm using the proper connection. >> >> The webpage mysql_error outputs "select command denied to user: >> '[EMAIL PROTECTED]' for table 'table_name'" >> >> For every table. And I wonder what the heck is this for because the select >> priv is on for that table in the 'db' table. >> >> So, what I did was change the 'user' table with select_priv to "Y" which >> basically make this user a super-user for every table. After doing this I >> get these errors: >> >> Table 'another_database.table_name' doesn't exist. >> >> I didn't select another_database as my table! I selected my_database as my >> table! Why the heck is it selecting the wrong table?! >> >> So, I added a ton of bebugging code. I confirmed that just before calling >> mysql_select_db() I had the right table in the variable. I confirmed I'm >> only making one database connection, not two. I confirmed that this user >> has no permissions for another_database with that user/pass. I confirmed >> the same Reference ID for $conn. Is being used in every case. >> >> I know the reason I'm getting the initial "select command denied" error is >> because it's still selecting another_database for the table and I don't > have >> permissions for that unless I add it for super-user like I did. >> >> A work around (which will not work once I get this site in production) is > to >> do a search/replace on the SQL strings and add "my_database." to every >> database table. Once the SQL command becomes "select xxx from >> my_database.table_name" it works fine but this is not what I can do in the >> end. What the heck could be the problem?! Why doesn't PHP select the > right >> table?! >> >> This problem happens with persistant or non-persistant connections. >> >> Oh, and another site using the same code and the same PHP install (same >> server1) but connecting to a 3.23.xx database works perfectly fine. Just > to >> throw a wrench in the works. >> >> I've been through all of the mysql docs can't find a thing. Do you guys >> know where I'm going wrong? >> >> -- >> >> Thomas Deliduka >> IT Manager >> ------------------------- >> Xenocast >> Street Smart Media Solutions >> http://www.xenocast.com/ >> >> >> >> -- >> MySQL General Mailing List >> For list archives: http://lists.mysql.com/mysql >> To unsubscribe: > http://lists.mysql.com/[EMAIL PROTECTED] > > -- Thomas Deliduka IT Manager ------------------------- Xenocast Street Smart Media Solutions http://www.xenocast.com/ -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]