Regels naar andere database
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)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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() );
?>
// 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
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.
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....
Niemand een idee? :o
wat is de sql die je gebruikt om de eerste database te openen? miss zit daar de fout..
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.
Maar hoe doe je hier de connectie dan? Want je kan toch niet met 2 databases tegelijk verbonden zijn?
(Binnen een php kan je natuurlijk ook met twee databases verbonden zijn, maar dan is jan's query niet mogelijk).
Ik heb vanalles geprobeerd, maar er gebeurd niets. Ik heb ook geen idee hoe ik met twee databases kan verbinden...