php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 09.09.2005, 11:48  
Benutzer
 
Registriert seit: 09.09.2005
Beiträge: 97
FiSiHRO
Standard Führt MySQL Befehl nicht aus

Moin Moin.
Habe mal eine Frage. Habe ein kleines Script in PHP geschrieben, was Daten aus einer Datei auslesen soll um sie dann in die DB zu stopfen. Das Script ist jetzt schon seid 2Stunden fertig. Aber es Funktioniert einfach nicht.
Hier mal der Code:
PHP-Code:
<?php

$host 
"***";
$nutzer "***";
$pw "***";
$dbname "***";
error_reporting(E_ALL);
$connect mysql_connect($host$nutzer$pw);

$i=0;

$tabelle fopen("tabelle.txt""r");
while (
$i!=1101)
{
    
$zeile fread($tabelle70);
    
$i++;
    
$datei substr($zeile012);
    
$blattnummer substr($zeile145);
    
$x substr($zeile2011);
    
$y substr($zeile3311);
    
$ox substr($zeile4511);
    
$oy substr($zeile5711);
    echo 
"$datei $blattnummer $x $y $ox $oy ";
    if(
$connect)
    {
        echo 
"$i  ";
        
$werte ' "'.$datei.'", "'.$blattnummer.'", "'.$x.'", "'.$y.'", "'.$ox.'", "'.$oy.'" ';
        
$einfuegen "INSERT INTO koords (datei, blattnummer, x, y, ox, oy) VALUES ($werte);";

        if(
mysql_query($einfuegen))
        {
            echo 
" erfolgreich hinzugefügt.
"
;
        }
        else
        {
            echo 
" nicht hinzugefügt!
"
;
        }
    }
    else
    {
        echo 
"Konnte keine Verbindung herstellen!";
    }
};
fclose ($tabelle);
?>
Er führt es aus, jedoch sagt er immer das er kein Datensatz hinzufügt. Weiss aber nicht woran es liegt. Hoffe ir könnt mir weiterhelfen.

MfG FiSiHRO
__________________
http://www.zukunft-portal.de
Nachrichten von allen für alle. Mach mit!
FiSiHRO ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 09.09.2005, 12:34  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Du gibst an, die Werte für sechs Attribute eingeben zu wollen, und weist diesen dann einen einzigen Wert zu. Lass das Zusammenfügen der Werte und korrigier das INSERT-Statement:
PHP-Code:
<?php
...
      
$einfuegen "INSERT INTO koords (datei, blattnummer, x, y, ox, oy) VALUES ('$datei', $blattnummer, $x, $y, $ox, $o)"
...

?>
Ich gehe dabei davon aus, dass alles, ausser der Datei nummerische Werte sind. Wenn du mysql_error() abgefragt hättest, dann hätte dir MySQL etwa das Folgende gesagt:
  • ERROR 1136: Column count doesn't match value count at row 1
und der Fehler wäre eigentlich klar gewesen
__________________
Gruss
L
lazydog ist offline   Mit Zitat antworten
Alt 09.09.2005, 12:44  
Benutzer
 
Registriert seit: 09.09.2005
Beiträge: 97
FiSiHRO
Standard

Habe das mal geändert. Funktioniert aber immernoch nicht. Habe jetzt mysql_error() an den anfang der Datei gehängt. Ist das so richtig?
Wie gesagt immer noch das gleiche, dass er keinen einzigen DAtensatz in die DB schreibt.

Gruß FiSiHRO
__________________
http://www.zukunft-portal.de
Nachrichten von allen für alle. Mach mit!
FiSiHRO ist offline   Mit Zitat antworten
Alt 09.09.2005, 13:25  
Benutzer
 
Registriert seit: 09.09.2005
Beiträge: 97
FiSiHRO
Standard

Ach und nein es sind alles strings. Lässt sich ja auch aus dem Quellcode ableiten.
Funzt immernoch nicht

Gruß FiSiHRO
__________________
http://www.zukunft-portal.de
Nachrichten von allen für alle. Mach mit!
FiSiHRO ist offline   Mit Zitat antworten
Alt 09.09.2005, 14:29  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Aus dem Quellcode lässt sich nicht ableiten, als was für Typen die Attribute in der DB definiert sind. Grundsätzlich gilt: nummerische Typen brauchen keine Anführungszeichen, alle anderen schon. Und mysql_error() muss nicht am Anfang der Datei abgefragt werden, sondern nach jedem Befehl, der auf die DB zugreift. Ausserdem hast du gar keine Datenbank ausgewählt. Berücksichtigt man das alles, so sieht es etwa so aus, den Datenbanknamen musst du natürlich ersetzen:
PHP-Code:
<?php
$host 
"***";
$nutzer "***";
$pw "***";
$dbname "***";
error_reporting(E_ALL);
$connect mysql_connect($host$nutzer$pw) or die("Konnte keine Verbindung herstellen!" mysql_error());
mysql_select_db(datenbankname) or die(mysql_error());

$i=0;

$tabelle fopen("tabelle.txt""r");
while (
$zeile fread($tabelle70))
{
   
$datei substr($zeile012);
   
$blattnummer substr($zeile145);
   
$x substr($zeile2011);
   
$y substr($zeile3311);
   
$ox substr($zeile4511);
   
$oy substr($zeile5711);
   echo 
"$datei $blattnummer $x $y $ox $oy ";
   echo 
"$i++";
   
$einfuegen "INSERT INTO koords (datei, blattnummer, x, y, ox, oy) 
                 VALUES ('$datei', $blattnummer, $x, $y, $ox, $o)"
;  

   if(
mysql_query($einfuegen))
   {
      echo 
" erfolgreich hinzugefügt.
"
;
   }
   else
   {
      echo 
" nicht hinzugefügt! 
mysql_error();
   }
}
fclose ($tabelle); 
?>
__________________
Gruss
L
lazydog ist offline   Mit Zitat antworten
Alt 09.09.2005, 14:35  
Erfahrener Benutzer
 
Registriert seit: 01.02.2004
Beiträge: 550
cytrobic
Standard

versuchs so:

PHP-Code:
<?php

$host 
"***"
$nutzer "***"
$pw "***"
$dbname "***"
error_reporting(E_ALL); 
$connect mysql_connect($host$nutzer$pw) or die("Konnte keine Verbindung herstellen!" mysql_error()); 
mysql_select_db(datenbankname) or die(mysql_error()); 

$i=0

$tabelle fopen("tabelle.txt""r"); 
while (
$zeile fread($tabelle70)) 

   
$datei substr($zeile012); 
   
$blattnummer substr($zeile145); 
   
$x substr($zeile2011); 
   
$y substr($zeile3311); 
   
$ox substr($zeile4511); 
   
$oy substr($zeile5711); 
   echo 
$datei." ".$blattnummer." ".$x." ".$y." ".$ox." ".$oy." "
   echo 
$i++; 
   
$einfuegen "INSERT INTO koords (datei, blattnummer, x, y, ox, oy)  
                 VALUES ('"
.$datei."', ".$blattnummer.", ".$x.", ".$y.", ".$ox.", ".$o.")";   

   if(
mysql_query($einfuegen)) 
   { 
      echo 
" erfolgreich hinzugefügt.
"

   } 
   else 
   { 
      echo 
" nicht hinzugefügt! 
mysql_error(); 
   } 

fclose ($tabelle);  

?>
__________________
keine
cytrobic ist offline   Mit Zitat antworten
Alt 12.09.2005, 08:01  
Benutzer
 
Registriert seit: 09.09.2005
Beiträge: 97
FiSiHRO
Standard

Suuuuper.
Dank euch für eure Antoworten und eure Bemühungen.
Es hat endlich funktioniert. Wurde auch Zeit das er läuft *g*

gruß FiSiHRO
__________________
http://www.zukunft-portal.de
Nachrichten von allen für alle. Mach mit!
FiSiHRO ist offline   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
MySQL Befehl als default? DannyD Datenbanken 5 25.10.2006 17:38
Suche Befehl: MySQL Output in statische Seite schmeissen tekknotrip PHP Tipps 2006 3 14.09.2006 11:49
Seitenanzeige bei LIMIT befehl in MySQL PHP Tipps 2007 2 09.12.2005 20:11
MySQL Befehl für "Gestern online" PHP Tipps 2005-2 5 07.10.2005 20:23
[Erledigt] MySQL Befehl für MySQL 4.0.24 Datenbanken 2 23.08.2005 17:35
Suche Tipps für Persormance-Steigerung (Geld für Nützliches) Beitragsarchiv 18 16.08.2005 10:57
MySQL Befehl wird nicht richtig ausgeführt! c-bass PHP Tipps 2005-2 3 21.07.2005 17:29
Befehl nicht kompatibel zwischen MySQL 4.1.10 und 4.1.11 Datenbanken 3 28.06.2005 11:36
Mysql Befehl von PhP umwandeln Datenbanken 2 19.05.2005 22:40
[Erledigt] Mysql Update mit PHP Befehl Datenbanken 13 26.01.2005 15:52
MySQL UPDATE Befehl funktioniert nicht PHP Tipps 2005 6 24.01.2005 15:03
Probleme mit MySQL Befehl Schliesen PHP Tipps 2004-2 7 14.12.2004 12:41
mysql comandline befehl für import eines scripts Datenbanken 2 30.07.2004 15:57
PHP und MySQL Befehl PHP Tipps 2004 4 08.07.2004 11:49
regulaere ausdruecke in einem MySQL befehl mit REGEXP Datenbanken 3 16.06.2004 23:07

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php führt mysql nicht aus, mysql -u root -p dbname \befehl\ >> datei, mysql befehl mit echo

Alle Zeitangaben in WEZ +2. Es ist jetzt 13:58 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.