PDA

View Full Version : Dump user table to another database


JMH11788
01-20-2007, 02:18 AM
I'm trying to dump colums "userid, username, password, email, joindate, and timezoneoffset" into another database.

I've tried a bunch of different combinations and nothing works yet. I'm just trying to echo the correct values and then I know how to dump them into the database I want. Here is a string I tried:

$query = $vbulletin->db->query_read("SELECT * FROM user");
$row = mysql_fetch_row($query);
print_r ($row);

But the problem is that it only prints the first row in the table. If I change it to "SELECT * FROM user WHILE userid=*" it just errors out.

I've tried
$query = $vbulletin->db->fetch_array
but all I get is errors.

Is there a better way to do this? I sure hope so lol.

The only thing I can think of is to query the first column and pull up the userid numbers and dump it row by row based on the userid. If I loop it I think I could make it do the whole table. It sucks that I can't just use a incrementing value because if you delete a user the userid column skips that number. Like if you have userid 1,2,3,4 and you delete user 3 it would be 1,2,4.....

Can you please shed some light on what I must do here? I've searched for a long while, read manuals till my eyes bleed and had no luck :(

Thanks in advance,
Jordan

I'm trying to dump colums "userid, username, password, email, joindate, and timezoneoffset" into another database.

I've tried a bunch of different combinations and nothing works yet. I'm just trying to echo the correct values and then I know how to dump them into the database I want. Here is a string I tried:

$query = $vbulletin->db->query_read("SELECT * FROM user");
$row = mysql_fetch_row($query);
print_r ($row);

But the problem is that it only prints the first row in the table. If I change it to "SELECT * FROM user WHILE userid=*" it just errors out.

I've tried
$query = $vbulletin->db->fetch_array
but all I get is errors.

Is there a better way to do this? I sure hope so lol.

The only thing I can think of is to query the first column and pull up the userid numbers and dump it row by row based on the userid. If I loop it I think I could make it do the whole table. It sucks that I can't just use a incrementing value because if you delete a user the userid column skips that number. Like if you have userid 1,2,3,4 and you delete user 3 it would be 1,2,4.....

Can you please shed some light on what I must do here? I've searched for a long while, read manuals till my eyes bleed and had no luck :(

Thanks in advance,
Jordan

ahhh nvm I got it!

Here is what to do for anyone else that needs help:

$query = $vbulletin->db->query_read("SELECT username, password, email, joindate, timezoneoffset FROM user");
while ($row = mysql_fetch_object($query)) {
echo $row->username;
}

Attilitus
01-20-2007, 09:51 PM
This code is just off the top of my head... but it ought to work, or at least get you going along the right track.

$userfield = $vbulletin->db->query_read("SELECT * FROM user");
for ($i=0; $i<count($userfield);$i++){
$userfield[$i] = mysql_fetch_row($userfield[$i];
(code to add $userfield[$i] to other database.)
}

I doubt that will work as I took just a second to write it up, but the trick is using the "for" statement.

Edit: You could also just use Impex. ;)