Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Spalten kopieren (Tabelle1 zu Tabelle2) - Probleme

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Spalten kopieren (Tabelle1 zu Tabelle2) - Probleme

    Hi,

    ich möchte eine Spalte aus der einen in die andere Tabelle kopieren.
    Soweit so gut.
    Aber einmal kommt der Fehler: Warning: mysql_fetch_array() expects....
    Jedoch ist der Kopiervorgang durchgeführt!?

    Das andere Problem ist, das Script bring mir einen Dublicate Key Fehler für "ident".
    In Tabelle 1 (tracking) ist der PRIMARY KEY die Spalte "ident"
    In Tabelle 2 (history) ist der PRIMARY KEY die Splate "id"

    Ich finde jedoch den Fehler nicht!

    PHP-Code:
    $ident $_POST['ident']; 
    PHP-Code:
                $sql mysql_query("SELECT ident FROM tracking") or die(mysql_error()); 
                while (
    $ident_result mysql_fetch_array($sql))
                    {
                    if (
    $ident_result['ident'] == $ident) {
                        echo 
    "Gibts schon.";
                        
    $sql "INSERT INTO history (ident, ort, platz, prio, datum)
                                SELECT ident, ort, platz, prio, datum
                                FROM tracking
                                WHERE ident = '"
    .$ident."'";
                        
    mysql_query$sql )
                        OR die(
    "Error: $sql <br>".mysql_error());
                    }
                    }
                
    // Pruefen ob der neue Datensatz tatsaechlich eingefuegt wurde
                
    if (mysql_affected_rows() > 0) {
                    echo 
    "<h3>History erstellt.</h3>"

  • #2
    Ok, den Fehler: Warning: mysql_fetch_array() expects habe ich gelöst!

    PHP-Code:
    $sql "SELECT ident FROM tracking"
                
    $sql mysql_query$sql$conID )
                OR die(
    "Error: $sql <br>".mysql_error());
                while (
    $ident_result mysql_fetch_array($sql))
                    {
                    if (
    $ident_result['ident'] == $ident) {
                        echo 
    "Gibts schon.";
                        
    $sql "INSERT INTO history (ident, ort, platz, prio, datum)
                                SELECT ident, ort, platz, prio, datum
                                FROM tracking
                                WHERE ident = '"
    .$ident."'";
                        
    mysql_query$sql )
                        OR die(
    "Error: $sql <br>".mysql_error());
                    }
                    } 
    Jetzt habe ich nur noch das DUBLICATE KEY Problem.....

    Kommentar


    • #3
      Zitat von Schmakus Beitrag anzeigen
      Aber einmal kommt der Fehler: Warning: mysql_fetch_array() expects....
      Zitat von Schmakus Beitrag anzeigen
      Jetzt habe ich nur noch das DUBLICATE KEY Problem.....
      Ich sag's mal so: wenn du nicht bereit bist, deine Fragen bzw. Probleme ausführlich zu schreiben, wirst du eher nicht mit Hilfe rechnen können.
      Die Deutsche Rechtschreibung ist Freeware! Du darfst sie kostenlos nutzen, allerdings ist sie nicht Open Source, d.h. Du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

      Kommentar


      • #4
        Das andere Problem ist, das Script bring mir einen Dublicate Key Fehler für "ident".
        Jetzt habe ich nur noch das DUBLICATE KEY Problem
        Naja, was soll man dazu noch sagen? Übersetze die Meldung ins Deutsche und dann hast du schon den Fehler. Da kann man eigentlich nicht mehr dazu sagen, deine DB hat sicher recht.

        PS: DUPLICATE ...
        The string "()()" is not palindrom but the String "())(" is.

        Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
        PHP.de Wissenssammlung | Kein Support per PN

        Kommentar


        • #5
          Gibt es einen sinnvollen Grund warum du einmal mit dem Spaltennamen ID und einmal mit IDENT arbeitest? Denn ich nehme an das es sich in beiden Fällen um die Eindeutige Identifikationsnummer der Tabellen handelt?

          außerdem wird dir spätestens in fünf Minuten der erste für die Verwendung von mysql_* an die Gurgel gehen. Daher direkt von mir verwende lieber PDO oder MySQLi_*.

          Seit wann gibt man denn bei mysql_* eine Verbindungskennung mit?
          PHP-Code:
          $sql mysql_query$sql$conID 

          Kommentar


          • #6
            Ok, meine Probleme habe ich selbst lösen können.
            In der Datenbank war die Spalte "Ident" als "UNIQUE" deklariert.

            [ERLEDIGT]

            Kommentar


            • #7
              Zitat von TessaKavanagh Beitrag anzeigen
              Seit wann gibt man denn bei mysql_* eine Verbindungskennung mit?
              PHP-Code:
              $sql mysql_query$sql$conID 
              Der zweite Parameter existiert schon ewig/immer - nur da er optional ist verwendet ihn halt kaum jemand ...

              Kommentar

              Lädt...
              X