php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 16.02.2006, 11:46  
Gast
 
Beiträge: n/a
Standard [Erledigt] SQL-Datei mit PHP einfügen

Hallo zusammen,
ich möchte mehrere Tabellen, die in einer sql-Datei gespeichert sind, in eine Datenbank einfügen. Wenn ich diese Datei in phpMyAdmin im Tab SQL auswähle und hochlade funktioniert es. Mit folgendem Code allerdings nicht. Ich versuche das schon recht lange. (Im moment denke ich, der Fehler liegt bei der Kodierung die nicht angegeben wird (oder so)). Wäre für eine Antwort sehr dankbar.
PHP-Code:
$sqlfile file_get_contents("complete.sql");
$sqlfile str_replace("{PREFIX}"$mysql_prefix$sqlfile);
$sqlfile str_replace("{DATABASE}"$mysql_db$sqlfile);
        
$connection mysql_pconnect("localhost"$mysql_username$mysql_password);
if(
$connection === false)
    die(
'mysql-error: ' mysql_error());
else
{
    if(
mysql_select_db($mysql_db))
    {
        
$result mysql_query($sqlfile);
    }
    else
        die(
'mysql-error: ' mysql_error());

  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 16.02.2006, 12:10  
Erfahrener Benutzer
 
Registriert seit: 13.11.2005
Beiträge: 2.583
xabbuh
Standard

Mit mysql_query() kannst du nur eine Abfrage an die Datenbank senden.
xabbuh ist offline   Mit Zitat antworten
Alt 16.02.2006, 12:39  
Gast
 
Beiträge: n/a
Standard

ok und welche funktion müsste ich verwenden?
  Mit Zitat antworten
Alt 16.02.2006, 12:41  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Steht im Manual oder kannste soweit ich weiß auch bei phpMyAdmin ablesen!
Zergling-new ist offline   Mit Zitat antworten
Alt 16.02.2006, 12:53  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.034
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Die Funktion ist schon die richtige, nur musst du deine Befehle einzeln abschicken, etwa so:
PHP-Code:
$sql_ar explode(';'$sqlfile);
foreach(
$sql_ar as $sql){
    
mysql_query($sqlod die(mysql_error());

__________________
Gruss
L
lazydog ist offline   Mit Zitat antworten
Alt 16.02.2006, 13:01  
Gast
 
Beiträge: n/a
Standard

habe read_dump.php angesehen, komme bei kurzem durchschauen nicht auf die lösung...Ich hoffe jemand hat das schon einmal gemacht und kann mir kurz sagen, wo das problem ist.
  Mit Zitat antworten
Alt 16.02.2006, 13:10  
Benutzer
 
Registriert seit: 27.10.2005
Beiträge: 53
Josh
Josh eine Nachricht über Skype™ schicken
Standard

@lazydog bei deiner lösung gibts aber natürlich probleme sobald in irgendnem datenbankfeld ein ";" steht .... hatte das problem vor kurzem, ich habs jetzt erstmal so gelöst dass ich ");" als trennzeichen für das explode genommen hab(beim abschicken der einzelnen querys dann natürlich wieder ein ")" am ende anhängen, die 2 zeichen stehen so eigentlich nie hintereinander in einem text, aber die perfekte lösung ist das natürlich auch nicht
Josh ist offline   Mit Zitat antworten
Alt 17.02.2006, 03:02  
Gast
 
Beiträge: n/a
Standard

PHP-Code:
<?php
        $sqlfile 
file_get_contents("complete.sql");
        
$sqlfile str_replace("{PREFIX}"$HTTP_POST_VARS['prefix'], $sqlfile);

        
$sqlfile str_replace(");""_INS_);"$sqlfile);
        
$sqlfile str_replace(" ;"");"$sqlfile);
        
$sql_ar explode(');'$sqlfile); 
        
        foreach(
$sql_ar as $sql){ 
            
$sql trim($sql" ");
            
$sql trim($sql"\n");
            
$sql trim($sql"\r");
            
$sql trim($sql"\n");
            
$sql str_replace("_INS_"");"$sql);
            if(
$sql != "")
                    
$result Mysql_SendQuery($sql);
        }
        
        if(
mysql_errno() != 0)
        {
?>
Zuverlässigere Versionen werde ich posten.
Herzlichen Dank für die Hilfe...
Rico
  Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Hochgeladene Datei wird doppelt abgelegt thecracked PHP Tipps 2008 3 01.07.2008 16:31
Datei per Buttonklick runterladen... go1denboy PHP Tipps 2008 7 14.06.2008 20:25
Großer Baum -> Große Datei -> Hohe Ladezeit :( PsychoEagle PHP Tipps 2008 7 22.09.2007 12:44
String als Datei speichern Zangelo PHP Tipps 2006 23 25.08.2006 14:13
Datei durchsuchen Wöllchen Beitragsarchiv 3 02.03.2006 22:23
Datei auf FTP-Server ändern ohne lokal abzuspeichern faux PHP-Fortgeschrittene 11 02.09.2005 11:54
Datei mehrmals öffnen und schließen in einem Skript PHP Tipps 2005-2 14 14.07.2005 18:12
Ordner Struktur auslesen bestimmte datei finden .... silverghost PHP Tipps 2005 3 24.05.2005 13:55
Includete Datei nicht gleich ausgeben Madden PHP-Fortgeschrittene 1 12.05.2005 00:19
xfdf Datei mit PHP an eMail senden Problem: Leere Datei PHP Tipps 2004-2 1 07.12.2004 12:25
Dateien lesen und schreiben [mehr als: r,a,w]? PHP Tipps 2004 4 24.10.2004 18:53
Zeilenumbrüche & Neudatein mit PHP PHP Tipps 2004 5 21.10.2004 11:38
php und ftp PHP Tipps 2004 4 07.10.2004 09:58
(ich schonwieder) Link seite automatisch imported_DJ Nuno PHP Tipps 2004 14 19.08.2004 17:42
Wie kann ich eine PHP Datei in eine HTML Datei umwandeln PHP Tipps 2004 2 12.08.2004 18:04

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
sql datei in php, php sql-datei einfügen, php explode sql file, sql datei in php umwandeln, *.sql datei in datenbank einfügen, php file_get_contents sql, sql datei phmyadmin einfügen, *.sql dateimit php automatisch in mysql einfügen, zeilenumbruch innerhalb eines datenbankfeldes mysql, mysql_sendquery

Alle Zeitangaben in WEZ +1. Es ist jetzt 06:20 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.