30. november 2004 - 08:34
Der er
26 kommentarer
hiv data ud og indsætte i anden database struktur?
Hey alle... Jeg har en database der hedder forummer, hvori der ligger nogle forskellige felter osv... Når jeg så skal have dem over i en helt helt anden database struktur, hvordan gør jeg dette? På forhånd tak
Annonceindlæg fra DE-CIX
30. november 2004 - 09:05
#1
any1???? plzz
30. november 2004 - 09:07
#2
Det er vel bare at lave en SELECT, og så en INSERT med de data du hiver ud. Hvis jeg har forstået det korrekt.
30. november 2004 - 09:26
#3
altså sådan jeg skriver fx: $sql = mysql_query("SELECT FORUMMESSAGE from MINDATABASE ". "WHERE FORUM_ID, AUTHORNAME, AUTHOREMAIL); $sql2 = mysql_query("INSERT INTO forum_entries WHERE user_id, name, email); Er det korrekt?
30. november 2004 - 09:43
#4
???? any1 ????
30. november 2004 - 09:45
#5
Ikke helt. $sql = mysql_query("SELECT * from MINDATABASE WHERE FORUM_ID = $etId)or die(mysql_error()); $result=mysql_query($sql); $row = mysql_fetch_array($result); $data1 = $row['data1']; $data2 = $row['data2']; $data3 = $row['data3']; $sql2 = mysql_query("INSERT INTO forum_entries (felt1, felt2, felt3) VALUES('$data1', '$data2', '$data3')")or die(mysql_error()); $result2=mysql_query($sql2); Noget á la dette
30. november 2004 - 10:06
#6
Får denne fejlmeddelse nu : Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in d:\webs\framemakers\www\forum\selectandsinsert.php on line 8 min kode er: <? require('config.php'); //Vælger databasen mysql_select_db($database, $db); $sql = mysql_query('SELECT * from T_FORUMMESSAGE WHERE FORUM_ID = 1')or die(mysql_error()); $result = @mysql_query($sql); $row = mysql_fetch_array($result); $data1 = $row['data1']; $sql2 = mysql_query("INSERT INTO forum_entries (user_id) VALUES('$user_id')")or die(mysql_error()); $result2=mysql_query($sql2); ?>
30. november 2004 - 10:10
#7
<? require('config.php'); //Vælger databasen mysql_select_db($database, $db); $sql = mysql_query('SELECT * from T_FORUMMESSAGE WHERE FORUM_ID = 1')or die(mysql_error()); $result = @mysql_query($sql); $row = mysql_fetch_array($result); $data1 = $row['FeltetsNavn']; $sql2 = mysql_query("INSERT INTO forum_entries (user_id) VALUES($data1)")or die(mysql_error()); $result2=mysql_query($sql2); ?>
30. november 2004 - 10:12
#8
$data1 = $row['FeltetsNavn'];//Navnet på det felt dataen kommer fra (formodentlig FORUM_ID)
30. november 2004 - 10:13
#9
$result = mysql_query($sql); //Og väk med at-tegnet
30. november 2004 - 10:17
#10
Får stadig fejlen + 1 mere...??? Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in d:\webs\framemakers\www\forum\selectandsinsert.php on line 8 Column count doesn't match value count at row 1
30. november 2004 - 10:20
#11
Har du flere id'er der er 1?
30. november 2004 - 10:25
#12
altså selve T_FORUMMESSAGE ser sådanne ud, det er her hvor der er et specifikt id, og et forum_id Feltnavn Datatype Attributter Nulværdi Standardværdi Ekstra Handling ID int(11) Nej auto_increment Ændre Slet Primær Indeks Unik Fuldtekst FORUM_ID int(11) Nej 0 Ændre Slet Primær Indeks Unik Fuldtekst AUTHORNAME varchar(255) Nej Ændre Slet Primær Indeks Unik Fuldtekst AUTHOREMAIL varchar(255) Nej Ændre Slet Primær Indeks Unik Fuldtekst AUTHORPHONE varchar(255) Nej Ændre Slet Primær Indeks Unik Fuldtekst TITLE varchar(255) Nej Ændre Slet Primær Indeks Unik Fuldtekst CONTENT text Nej Ændre Slet Primær Indeks Unik Fuldtekst APPROVED int(11) Nej 0 Ændre Slet Primær Indeks Unik Fuldtekst TIMESTAMP int(11) Nej 0 Ændre Slet Primær Indeks Unik Fuldtekst PARENT int(11) Nej 0 Ændre Slet Primær Indeks Unik Fuldtekst
30. november 2004 - 10:31
#13
<? require('config.php'); //Vælger databasen mysql_select_db($database, $db); $sql = mysql_query('SELECT * from T_FORUMMESSAGE WHERE FORUM_ID = 1')or die(mysql_error()); $result = mysql_query($sql); if (!$result) { echo "Could not successfully run query ($sql) from DB: " . mysql_error(); exit; } if (mysql_num_rows($result) == 0) { echo "No rows found, nothing to print so am exiting"; exit; } $row = mysql_fetch_array($result); $data1 = $row['ID']; $sql2 = mysql_query("INSERT INTO forum_entries (user_id) VALUES($data1)")or die(mysql_error()); $result2=mysql_query($sql2); ?> Kan umiddelbart ikke se nogle fejl, pröv denne.
30. november 2004 - 10:33
#14
Den printer dette ud: Could not successfully run query (Resource id #4) from DB: 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 'Resource id #4' at line 1
30. november 2004 - 10:59
#15
$sql = mysql_query("SELECT * from T_FORUMMESSAGE WHERE FORUM_ID = '1'")or die(mysql_error()); Pröv dette.
30. november 2004 - 11:24
#16
den giver mig samme fejl? nu prøver jeg lige at forklare hele opgaven! Jeg har et par foraer hvori der ligger en helvedes masse data, denne data skal jeg have flyttet over i et andet forum! jeg har et andet felt som hedder T_FORUM hvori de forskellige foraer har et ID! Derfor i den anden tabel FORUM_ID hvis det hjælper kan du se hvordan de 2 forskellige db ser ud: Dette er T_FORUMMESSAGE (i hvor brugerens indlæg er) Feltnavn Datatype Attributter Nulværdi Standardværdi Ekstra Handling id int(11) Nej auto_increment Ændre Slet Primær Indeks Unik Fuldtekst pid int(11) Nej 0 Ændre Slet Primær Indeks Unik Fuldtekst tid int(11) Nej 0 Ændre Slet Primær Indeks Unik Fuldtekst uniqid tinytext Nej Ændre Slet Primær Indeks Unik Fuldtekst time timestamp(14) Ja NULL Ændre Slet Primær Indeks Unik Fuldtekst last_answer timestamp(14) Ja NULL Ændre Slet Primær Indeks Unik Fuldtekst edited timestamp(14) Ja NULL Ændre Slet Primær Indeks Unik Fuldtekst edited_by tinytext Nej Ændre Slet Primær Indeks Unik Fuldtekst user_id int(11) Ja 0 Ændre Slet Primær Indeks Unik Fuldtekst name tinytext Nej Ændre Slet Primær Indeks Unik Fuldtekst subject tinytext Nej Ændre Slet Primær Indeks Unik Fuldtekst category tinytext Nej Ændre Slet Primær Indeks Unik Fuldtekst email tinytext Nej Ændre Slet Primær Indeks Unik Fuldtekst hp tinytext Nej Ændre Slet Primær Indeks Unik Fuldtekst place tinytext Nej Ændre Slet Primær Indeks Unik Fuldtekst ip tinytext Nej Ændre Slet Primær Indeks Unik Fuldtekst text text Nej Ændre Slet Primær Indeks Unik Fuldtekst show_signature tinyint(4) Ja 0 Ændre Slet Primær Indeks Unik Fuldtekst email_notify tinyint(4) Ja 0 Ændre Slet Primær Indeks Unik Fuldtekst marked tinyint(4) Ja 0 Ændre Slet Primær Indeks Unik Fuldtekst locked tinyint(4) Ja 0 Ændre Slet Primær Indeks Unik Fuldtekst fixed tinyint(4) Ja 0 Ændre Slet Primær Indeks Unik Fuldtekst views int(11) Ja 0 Ændre Slet Primær Indeks Unik Fuldtekst Med det afmærkede: Afmærk alt / Fjern alle mærker Med det afmærkede: Ændre Slet
30. november 2004 - 11:24
#17
T_FORUMMESSAGE::: Feltnavn Datatype Attributter Nulværdi Standardværdi Ekstra Handling ID int(11) Nej auto_increment Ændre Slet Primær Indeks Unik Fuldtekst FORUM_ID int(11) Nej 0 Ændre Slet Primær Indeks Unik Fuldtekst AUTHORNAME varchar(255) Nej Ændre Slet Primær Indeks Unik Fuldtekst AUTHOREMAIL varchar(255) Nej Ændre Slet Primær Indeks Unik Fuldtekst AUTHORPHONE varchar(255) Nej Ændre Slet Primær Indeks Unik Fuldtekst TITLE varchar(255) Nej Ændre Slet Primær Indeks Unik Fuldtekst CONTENT text Nej Ændre Slet Primær Indeks Unik Fuldtekst APPROVED int(11) Nej 0 Ændre Slet Primær Indeks Unik Fuldtekst TIMESTAMP int(11) Nej 0 Ændre Slet Primær Indeks Unik Fuldtekst PARENT int(11) Nej 0 Ændre Slet Primær Indeks Unik Fuldtekst FORUM_ENTRIES:::: Feltnavn Datatype Attributter Nulværdi Standardværdi Ekstra Handling id int(11) Nej auto_increment Ændre Slet Primær Indeks Unik Fuldtekst pid int(11) Nej 0 Ændre Slet Primær Indeks Unik Fuldtekst tid int(11) Nej 0 Ændre Slet Primær Indeks Unik Fuldtekst uniqid tinytext Nej Ændre Slet Primær Indeks Unik Fuldtekst time timestamp(14) Ja NULL Ændre Slet Primær Indeks Unik Fuldtekst last_answer timestamp(14) Ja NULL Ændre Slet Primær Indeks Unik Fuldtekst edited timestamp(14) Ja NULL Ændre Slet Primær Indeks Unik Fuldtekst edited_by tinytext Nej Ændre Slet Primær Indeks Unik Fuldtekst user_id int(11) Ja 0 Ændre Slet Primær Indeks Unik Fuldtekst name tinytext Nej Ændre Slet Primær Indeks Unik Fuldtekst subject tinytext Nej Ændre Slet Primær Indeks Unik Fuldtekst category tinytext Nej Ændre Slet Primær Indeks Unik Fuldtekst email tinytext Nej Ændre Slet Primær Indeks Unik Fuldtekst hp tinytext Nej Ændre Slet Primær Indeks Unik Fuldtekst place tinytext Nej Ændre Slet Primær Indeks Unik Fuldtekst ip tinytext Nej Ændre Slet Primær Indeks Unik Fuldtekst text text Nej Ændre Slet Primær Indeks Unik Fuldtekst show_signature tinyint(4) Ja 0 Ændre Slet Primær Indeks Unik Fuldtekst email_notify tinyint(4) Ja 0 Ændre Slet Primær Indeks Unik Fuldtekst marked tinyint(4) Ja 0 Ændre Slet Primær Indeks Unik Fuldtekst locked tinyint(4) Ja 0 Ændre Slet Primær Indeks Unik Fuldtekst fixed tinyint(4) Ja 0 Ændre Slet Primær Indeks Unik Fuldtekst views int(11) Ja 0 Ændre Slet Primær Indeks Unik Fuldtekst
30. november 2004 - 11:31
#18
<? require('config.php'); //Vælger databasen mysql_select_db($database, $db); $sql = mysql_query('SELECT * from Tabel_Som_Hentes_Fra WHERE id_Fra_Tabel_Der_Hentes_Fra = 1')or die(mysql_error()); $result = mysql_query($sql); if (!$result) { echo "Could not successfully run query ($sql) from DB: " . mysql_error(); exit; } if (mysql_num_rows($result) == 0) { echo "No rows found, nothing to print so am exiting"; exit; } $row = mysql_fetch_array($result); $data1 = $row['id_Fra_Tabel_Der_Hentes_Fra']; $sql2 = mysql_query("INSERT INTO Tabel_Der_Sättes_Ind_I (id_I_Den_Tabel) VALUES($data1)")or die(mysql_error()); $result2=mysql_query($sql2); ?>
30. november 2004 - 11:37
#19
har nu skrevet det ind på følgende måde, og får stadig samme fejlmelding som før: <? require('config.php'); //Vælger databasen mysql_select_db($database, $db); $sql = mysql_query('SELECT * from T_FORUMMESSAGE WHERE T_FORUMMESSAGE.ID = 1')or die(mysql_error()); $result = mysql_query($sql); if (!$result) { echo "Could not successfully run query ($sql) from DB: " . mysql_error(); exit; } if (mysql_num_rows($result) == 0) { echo "No rows found, nothing to print so am exiting"; exit; } $row = mysql_fetch_array($result); $data1 = $row['FORUM_ID']; $sql2 = mysql_query("INSERT INTO forum_entries (user_id) VALUES($data1)")or die(mysql_error()); $result2=mysql_query($sql2); ?>
30. november 2004 - 12:12
#20
du kan ikke hjælpe mere plz? skal nok ligge flere point hvis det er det...
30. november 2004 - 12:32
#21
Er tilbage kl 17.00 ca. Pröv at klistre hele siden herind. Hvor får du f eks variablerne fra til denne: mysql_select_db($database, $db);
30. november 2004 - 12:44
#22
Ok... Config.php ser således ud: <?php //Forbindelses data $server = 'xxx'; //Host $user = 'xxx'; //brugernavn $pass = 'xxx'; //password $database = 'framemakers'; $db = mysql_connect($server, $user, $pass) or die (mysql_error("Kan ikke få forbindelse til databasen")); ?> Også er der den side vi har prøvet at få til at virke som giver fejl: selectandinsert.php: <? require('config.php'); mysql_select_db($database, $db); $sql = mysql_query('SELECT * from T_FORUMMESSAGE WHERE FORUM_ID = 1')or die(mysql_error()); $result = mysql_query($sql); if (!$result) { echo "Could not successfully run query ($sql) from DB: " . mysql_error(); exit; } if (mysql_num_rows($result) == 0) { echo "No rows found, nothing to print so am exiting"; exit; } $row = mysql_fetch_array($result); $data1 = $row['FORUM_ID']; $sql2 = mysql_query("INSERT INTO forum_entries (user_id) VALUES($data1)")or die(mysql_error()); $result2=mysql_query($sql2); ?>
30. november 2004 - 12:50
#23
lige et par ting som er gode at kunne. 1. tag det roligt, og skrive ikke ??? any1 ??? hele tiden, det får dig til at se alt for desperat ud. 2. Skriv på dansk og ikke brug tal istedet for bogstaver, f.eks. "??any1??" = "nogen forslag ?" mht. mysql, så lav et dump, istedet for at markere ting i phpmyadmin og så kopiere dem ind, det giver en mere strukturert oversigt at din tabel. Gøres via. export-fanebladet -> marker alt (eller vælg det du vil vise) -> make dump -> og så kopiere det. JEg vil lade michael_stim tage sig af at afslutte spørgsmålet.
30. november 2004 - 12:55
#24
morteeart>>er på vej ud af dören. Kan heller ikke se nogen fejl, så afslut du hvis du kan se fejlen. Synes jeg har testet alt.
30. november 2004 - 13:04
#25
>> morteeart tak for rådene, du har ret i det er mere struktureret her er dump fra tabel t_forummessage: # Struktur dump for tabellen `T_FORUMMESSAGE` # CREATE TABLE `T_FORUMMESSAGE` ( `ID` int(11) NOT NULL auto_increment, `FORUM_ID` int(11) NOT NULL default '0', `AUTHORNAME` varchar(255) NOT NULL default '', `AUTHOREMAIL` varchar(255) NOT NULL default '', `AUTHORPHONE` varchar(255) NOT NULL default '', `TITLE` varchar(255) NOT NULL default '', `CONTENT` text NOT NULL, `APPROVED` int(11) NOT NULL default '0', `TIMESTAMP` int(11) NOT NULL default '0', `PARENT` int(11) NOT NULL default '0', PRIMARY KEY (`ID`) ) TYPE=MyISAM AUTO_INCREMENT=1923 ; og et dump fra den tabel hvori data skal over i : # Struktur dump for tabellen `forum_entries` # CREATE TABLE `forum_entries` ( `id` int(11) NOT NULL auto_increment, `pid` int(11) NOT NULL default '0', `tid` int(11) NOT NULL default '0', `uniqid` tinytext NOT NULL, `time` timestamp(14) NOT NULL, `last_answer` timestamp(14) NOT NULL, `edited` timestamp(14) NOT NULL, `edited_by` tinytext NOT NULL, `user_id` int(11) default '0', `name` tinytext NOT NULL, `subject` tinytext NOT NULL, `category` tinytext NOT NULL, `email` tinytext NOT NULL, `hp` tinytext NOT NULL, `place` tinytext NOT NULL, `ip` tinytext NOT NULL, `text` text NOT NULL, `show_signature` tinyint(4) default '0', `email_notify` tinyint(4) default '0', `marked` tinyint(4) default '0', `locked` tinyint(4) default '0', `fixed` tinyint(4) default '0', `views` int(11) default '0', PRIMARY KEY (`id`), UNIQUE KEY `ID` (`id`), KEY `tid` (`tid`), KEY `category` (`category`(10)) ) TYPE=MyISAM AUTO_INCREMENT=15 ; #
01. december 2004 - 08:58
#26
nå, jamen jeg fandt ud fejlen, det var $sql, det skulle ikke være en query ! Der skulle stå i stedet: $sql = "SELECT * FROM T_FORUMMESSAGE WHERE FORUM_ID = 1";
Vi tilbyder markedets bedste kurser inden for webudvikling