question about querying 2 databases in php

Do you have a question? Post it now! No Registration Necessary.  Now with pictures!

Threaded View

i am building a registration page where a user register for a
username. i am able to insert this into mysql. the situation is every
time data is inserted into example table1 in mysql in database1 for
example at the same time i would like to extract the username,
password and email from table1 based on the last inserted row and
insert these values into another table ex table2 in a different
database called database2.

the issue i am having is with the select query as it is not returning
values from table1 for me to insert those values into table2 in

NOTE = the hostname, user name, password are the same for both the
tables and databases and are physically in 1 server machine itself.

presently my code is

$conn = mysql_connect($hostname, $user, $dbpassword);


mysql_select_db($database, $conn);
$insertqueryresult = mysql_query($insertqueryfortable1);
$lastid = mysql_insert_id();

$selectqueryoftable1 = "Select username, password, email from table1
where slno = '$lastid'";
slno is an autoincrement and primary key which is like a serial number

$selectunempsq = mysql_query($selectqueryoftable1);

while($rowunemps = mysql_fetch_assoc($selectunempsq))
$unis = $rowunemps['username'];
$psis = $rowunemps['password'];
$emis = $rowunemps['email'];

$insertqueryfortable2 = "Insert into table2(username, password, email)
VALUES ('$unis', '$psis', '$emis')";

$unpsemresult = mysql_query($insertqueryfortable2);

the values in the 3 variables $unis, $psis, $emis are blank.

i have tried
a) while($rowunemps = mysql_fetch_array($selectunempsq))
b) creating the table2 in database1 itself to see if it works
but both these methods is not working

data is being inserted into table1 but i am not able to read the
values stored in table1 and then insert into table2. i have used
echoing the values of the 3 variables $unis, $psis, $emis however the
values are blank. with the insertquery for table2 everytime the insert
query is executed a new row is created but there are no values for the
3 fileds username, password, email in table2

initially i had $conn = mysql_connect($hostname, $user, $dbpassword);
2 times as the tables were in different database now i

have only 1 mysql_connect

please advice how to fix this ideally both tables sitting in different


Re: question about querying 2 databases in php


Quoted text here. Click to load it

Let the database handle it, and when working in different database, teac=
h  =

yourself the habit just to give the full name (databasename.tabename) in=

queries, which will save you a lot of headaches. SOmething like:

mysql_query("INSERT INTO databasename2.table2
        (username, password, email)
    SELECT username, password,email
    FROM databasename1.table1
    WHERE slno = '$lastid'");

Offcourse, check wether the previous insert has succeeded / all fields a=
re  =

-- =

Rik Wasmus

Site Timeline