Regels naar andere database

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Sam

Sam

30/08/2006 20:13:00
Quote Anchor link
Hallo,

Ik ben al een paar uur aan het proberen, maar het lukt nogsteedsniet, dus nu ga ik jullie maar met mijn probleem lastigvallen :P

Ik wil dus een aantal regels uit een bepaalde MySQL database in een andere database krijgen, onder dezelfde tabelnaam, met dezelfde kolommen. Ik heb die tabel dus gemaakt. Nu wil ik de regels eruit halen met het volgende scripje:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
// db connectie

while ($ojee = mysql_fetch_object($query)) {
    $write = "INSERT INTO `pb` (id, van, voor, onderwerp, bericht, datum, gelezen) Values ('".$ojee->id."', '".$ojee->van."', '".$ojee->voor."', '".$ojee->datum."', '".htmlspecialchars($ojee->onderwerp)."', '".htmlspecialchars($ojee->bericht)."', '".$ojee->gelezen."'); ".$write;
}

//nu zitten alle query's dus in een string, in $write, als ik deze echo op het scherm, en als SQL uitvoer in phpMyAdmin, werkt het gewoon.

mysql_close($link);

//db connectie naar andere db

mysql_query($write)  or die ( mysql_error() );
?>


Als error krijg ik dan:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '; INSERT INTO `pb` (id, van, voor, onderwerp, bericht, datum, gelezen) Values ('' at line 1

Als iemand een totaal andere manier heb hoor ik het graag. Ik kan natuurlijk ook steeds in de while van DB verwisselen, maar dat vindt de server niet zo leuk, en ik niet vanwege de snelheid.


Alvast bedankt, SAplayer
 
PHP hulp

PHP hulp

18/10/2024 06:14:15
 
Jan Koehoorn

Jan Koehoorn

30/08/2006 20:38:00
Quote Anchor link
Heb je phpMyAdmin? Daarmee kunt je de hele tabel naar een andere DB kopieren. Vervolgens delete je de records die je niet nodig hebt met een query.
 
Sam

Sam

30/08/2006 23:51:00
Quote Anchor link
Het gaat mij erom dat ik het als cronjob in kan stellen, zodat ik het automatisch elke week kan laten doen, dit script moet namelijk de 'oude' regels bewaren in een andere DB zodat deze schoon blijft...Dit was ik vergeten erbij te melden....
 
Sam

Sam

02/09/2006 03:30:00
Quote Anchor link
Niemand een idee? :o
 
Terence Hersbach

Terence Hersbach

02/09/2006 03:59:00
Quote Anchor link
denk niet veel mensen om half 4 's nachts:P

wat is de sql die je gebruikt om de eerste database te openen? miss zit daar de fout..
 
Jan Koehoorn

Jan Koehoorn

02/09/2006 08:48:00
Quote Anchor link
Oké, stel dat de database en de tabel waaruit je wilt kopieren respectievelijk database1 en tabelnaam1 heten.

De database waar je naartoe wilt kopieren heet database2 en de tabel daarin heet tabelnaam2.

Belangrijk: zorg dat beide tabellen precies dezelfde structuur hebben. Onderstaande query kopieert alles van tabelnaam1 naar tabelnaam 2.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
INSERT INTO database2.tabelnaam2
SELECT *
FROM database1.tabelnaam1
 
Sam

Sam

02/09/2006 13:13:00
Quote Anchor link
Maar hoe doe je hier de connectie dan? Want je kan toch niet met 2 databases tegelijk verbonden zijn?
 
Arend a

Arend a

02/09/2006 13:37:00
Quote Anchor link
Wel met twee databases, maar niet met twee servers

(Binnen een php kan je natuurlijk ook met twee databases verbonden zijn, maar dan is jan's query niet mogelijk).
 
Sam

Sam

02/09/2006 20:29:00
Quote Anchor link
Ik heb vanalles geprobeerd, maar er gebeurd niets. Ik heb ook geen idee hoe ik met twee databases kan verbinden...
 
Sam

Sam

03/09/2006 22:15:00
Quote Anchor link
niemand weet hoe je met 2 db's tegelijk verbonden kan zijn zodat

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
INSERT INTO database2.tabelnaam2
SELECT *
FROM database1.tabelnaam1
?>


werkt??
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.