Slettet bruger
28. august 2004 - 17:29
Der er
15 kommentarer og 2 løsninger
At indlæse .sql fil og eksekvere den via PHP
Hej! Jeg har en lang sql fil i stil med det her: # MySQL-Front Dump 2.5 # # Host: localhost Database: love # -------------------------------------------------------- # Server version 4.0.20a-nt # # Table structure for table 'demo_brugere' # DROP TABLE IF EXISTS demo_brugere; CREATE TABLE demo_brugere ( id int(10) unsigned NOT NULL auto_increment, brugernavn varchar(100) binary default NULL, adgangskode varchar(50) binary default NULL, navn varchar(100) default NULL, adresse varchar(100) default NULL, postnummer int(10) default NULL, bynavn varchar(100) default NULL, email varchar(100) default NULL, niveau tinyint(3) unsigned default '0', aktiv_fra datetime default NULL, aktiv_til datetime default NULL, sidste_login datetime default NULL, PRIMARY KEY (id) ) TYPE=MyISAM; # # Table structure for table 'demo_brugere_grupper' # DROP TABLE IF EXISTS demo_brugere_grupper; CREATE TABLE demo_brugere_grupper ( id int(10) unsigned NOT NULL auto_increment, gruppenavn varchar(100) default NULL, beskrivelse text, aktiv_fra datetime default NULL, aktiv_til datetime default NULL, PRIMARY KEY (id) ) TYPE=MyISAM; Hvordan indlæser jeg denne med PHP, og kører det som et query i MySQL? Filen hedder sql_setup.sql
Annonceindlæg fra Cognizant
Agentic AI kræver mere end teknologi
De fleste virksomheder har efterhånden bevist, at AI virker.
Pilotprojekter leverer resultater. Medarbejdere bruger generative AI-værktøjer. Nye use cases dukker op på tværs af organisationen.
28. august 2004 - 17:38
#1
Har du ikke PHPMyAdmin ? Den kan klare det for dig.
Slettet bruger
28. august 2004 - 17:56
#2
Ja,men det her skal ske via PHP (runtime)
28. august 2004 - 18:02
#3
Jeg ville nok gå ind og kigge på hvordan de har gjort det. PHPMyAdmin bruger en funktion: PMA_splitSqlFile() som splitter en række statements som dit op i enkelt-sql statements. du skal se i: /libraries/read_dump.lib.php er ligeved at tro at du kan genbruge den uden at rette i den.
28. august 2004 - 18:19
#4
Det her skulle gerne kunne bruges: $sql = file_get_contents("sql_setup.sql"); $sqlarr = explode(";", $sql); foreach ($sqlarr as $var) { mysql_query($var); }
28. august 2004 - 18:23
#5
Den er ikke god, for den vil fejle hvis du har en tekst med semikolon i.
28. august 2004 - 18:26
#6
Ja, det har du faktisk ret i...
Slettet bruger
28. august 2004 - 19:08
#7
Nogen der har en ide hvordan jeg bruger PMA_split osv osv?
28. august 2004 - 19:10
#8
Download phpMyAdmin og kig på read_dump.php
Slettet bruger
28. august 2004 - 19:31
#9
$sql_query = file_get_contents('sql_setup.sql'); $pieces = array(); PMA_splitSqlFile($pieces, $sql_query, 40); $pieces_count = count($pieces); if ($pieces_count > 1) { $is_multiple = TRUE; } $i = 0; foreach($pieces AS $val => $key) { $result = mysql_query($pieces[$i]['query']) or die(mysql_error()); $i++; } er svaret :) Tak for tippet med PHPMyAdmin
28. august 2004 - 19:40
#10
Hvad er det for en funktion, PMA_splitSqlFile ?
28. august 2004 - 19:42
#11
heheh nevermind ;)
Slettet bruger
28. august 2004 - 19:43
#12
En funktion der deler en typisk dump fil op så du kan køre alle queries.
28. august 2004 - 20:12
#13
Yep, fra phpMyAdmin (derfor PMA), som bruges i (er defineret i) read_dump.php ;)
Slettet bruger
28. august 2004 - 20:30
#14
Kast et svar (Dennismp og coderdk) ;)
28. august 2004 - 20:35
#15
ok
29. august 2004 - 00:18
#16
hehe roger that
Slettet bruger
29. august 2004 - 00:24
#17
Tak for hjælpen :)
Vi tilbyder markedets bedste kurser inden for webudvikling