Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Daten in eine Serverdatenbank schreiben

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] Daten in eine Serverdatenbank schreiben

    Hi Leute ich weiß wirklich nicht was mein Fehler ist vlt könnt ihr mir helfen.
    Ich verbinde mich mit zwei DB eine auf dem Localhost einer auf einem server mit ip. Danach das auswählen der DB
    dies mache ich jeweils über die befehle

    PHP-Code:

    $dbpi 
    mysql_connect("localhost","user","pw");
    mysql_select_db("DB-Name",dbpi);

    $dbs mysql_connect("IP","user","pw");
    mysql_select_db("DB-Name",dbs); 
    mit einer if anwendung überprüfe ich alles und alles klappt gut

    Danach möchte ich ich die Zeilen von der Localhost-DB auf den Server übertragen. Zum auslesen und um zu testen ob ich überhaupt was in die Server-DB schreiben kann habe ich jetzt diese Zeilen geschrieben:

    PHP-Code:
    echo "Uebertragung der DB Zeilen<br>";


    $abfrage "SELECT * FROM tabelle001;";

    $eintrag "INSERT INTO tabelle001 (ID, Klassifizierung) VALUES (1, 5);";

    $ergebnis mysql_query($abfrage$dbpi);


    //echo mysql_errno($ergebnis)


    while($row mysql_fetch_array($ergebnis))

    {

            echo 
    $row['ID']."&nbsp".$row['Timestamp']."&nbsp".$row['Klassifizierung']."&nbsp".$row['Geschwindigkeit']."&nbsp".$row['Laenge']."&nbsp".$row['Breite']."&nbsp".$row['Entfernung']."&nbsp".$row['Fahrtrichtung'];

            
    $eintragen mysql_query($eintrag§dbs);       //      eintragen in die Serverdatenbank

            
    echo "<br>";


            if (!
    $eintragen)

            {

                    exit(
    "fehler beim eintragen");

            }

            else

            {

                    echo 
    "erfolgreich eingetragen <br>";

            }



    }



    echo 
    "Ueberbprüfung ob daten uebertragen wurden<br>";


    $ergebnis2 mysql_query($abfrage$dbs);

    while(
    $row mysql_fetch_array($ergebnis2))

    {

            echo 
    $row['ID']."&nbsp".$row['Timestamp']."&nbsp".$row['Klassifizierung']."&nbsp".$row['Geschwindigkeit']."&nbsp".$row['Laenge']."&nbsp".$row['Breite']."&nbsp".$row['Entfernung']."&nbsp".$row['Fahrtrichtung'];


            echo 
    "<br>";

    Wenn ich das ganze jetzt aber im browser öffne wird bei der if anwendung mit "fehler beim eintragen" geschlossen.

    Könnt ihr mir helfen?
    Mache ich irgendwo einen Fehler?
    Ich sitze jetzt schon einige Zeit davor ohne einen Fehler finden zu können.
    Vielen dank für eure antworten

    Dani

  • #2
    Moin, willkommen im Forum.
    PHP-Code:
    $eintragen mysql_query($eintrag§dbs); 
    Da ist schonmal ein falsches Zeichen drin.

    Die mysql_* Erweiterung ist veraltet und wird in der nächsten PHP-Version entfernt.
    Durch einen Wechsel auf mysqli_* oder PDO greifst du auf die modernere API zu und hast die Möglichkeiten Prepared Statements zu benutzen die gegen Injections schützen.
    Ich persönlich bevorzuge PDO, schönes Tutorial: http://www.peterkropff.de/site/php/pdo.htm
    [COLOR=#A9A9A9]Relax, you're doing fine.[/COLOR]
    [URL="http://php.net/"]RTFM[/URL] | [URL="http://php-de.github.io/"]php.de Wissenssammlung[/URL] | [URL="http://use-the-index-luke.com/de"]Datenbankindizes[/URL] | [URL="https://www.php.de/forum/webentwicklung/datenbanken/111631-bild-aus-datenbank-auslesen?p=1209079#post1209079"]Dateien in der DB?[/URL]

    Kommentar


    • #3
      Ok schon mal vielen Dank für die Bemerkung und gut das der Fehler draußen ist aber das scheint nicht der einzige zu sein.
      An der Situation hat sich nichts geändert

      Kommentar


      • #4
        Vielleicht ist's schon spät und ich überblick's nicht mehr, aber mit
        PHP-Code:
        $eintrag "INSERT INTO tabelle001 (ID, Klassifizierung) VALUES (1, 5);"
        fügst du doch genau diese 2 Werte in die Tabelle (auf dem Server).

        Aber dein lokales SELECT hat doch viel mehr Felder???

        Wie ist das Feld ID auf dem Server definiert? Wenn's auto-increment ist, wird mysql meckern, wenn du immer wieder 1 eintragen willst.

        Kommentar


        • #5
          ja das eintragen war nur zum testen des eintragens

          und genau das war es.
          Es war schon ein wert mit der ID 1 in der Tabelle deswegen konnte er dort keinen eintragen.
          Vielen Dank für die schnelle Hilfe. Ich wäre wahrscheinlich heute noch bis 4 Uhr gesessen ohne es raus zu finden.
          Ich komm mal wieder auf euch zu wenn ich weitere fragen hab. Echt ein super Forum.

          thx Dani

          Kommentar

          Lädt...
          X