mysql_query und mysql_errno abfangen

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

  • mysql_query und mysql_errno abfangen

    Schaffe es einfach nicht . Habe jetzt eine Stunde versucht es zu lösen.
    Code:
    $insertSQL = sprintf("INSERT INTO backlink (projektName, zielUrl, backlinkUrl, backlinkText, linkart, partner, unsere_tausch_seite, firstDate) VALUES (%s, %s, %s, %s, %s, %s, %s, %s)",
                           GetSQLValueString($_POST['projektName'], "text"),
                           GetSQLValueString($_POST['zielUrl'], "text"),
                           GetSQLValueString($_POST['backlinkUrl'], "text"),
                           GetSQLValueString($_POST['backlinkText'], "text"),
                           GetSQLValueString($_POST['linkart'], "text"),
                           GetSQLValueString($_POST['partner'], "text"),
                           GetSQLValueString($_POST['unsere_tausch_seite'], "text"),
                           GetSQLValueString($_POST['firstDate'], "date"));
    
      mysql_select_db($database_onemanseoDB, $onemanseoDB);
      $Result1 = mysql_query($insertSQL, $onemanseoDB);
      if (!$Result1) {
           $message = mysql_errno();
              if ($message == 1062) {
               echo 'doppelter eintrag';  
             } 
     }
    Habe einen Uniqe Index über zwei Tabellenfelder um doppelte Einträge zu Verhindern.
    Jetzt möchte ich wenn das mysql_query die Fehlernummer 1062 für doppelte Einträge zurück gibt das der doppelte Eintrag und eine Fehlermeldung ausgegeben wird.
    Wenn es sich nicht um den Fehler 1062 handelt sollte eine andere Fehlermeldung mit mysql_error ausgegeben werden.

    Irgendwie bekomme ich das überhaupt nicht hin da ich es nicht schaffe mysql_errno auszulesen!?

  • #2
    Zitat von AKraisser Beitrag anzeigen
    Irgendwie bekomme ich das überhaupt nicht hin da ich es nicht schaffe mysql_errno auszulesen!?
    Kannst du das bitte genauer erklären, warum du es nicht schaffst bzw. was dabei nicht so klappt wie du es erwarten würdest? Davon abgesehen: Verwende besser
    PHP-Code:
    mysql_errno($onemanseoDB
    Du hast es bis dorthin so schön explizit gemacht, da wäre es blöd, damit jetzt aufzuhören, vor allem, wenn du mehrere parallele Verbindungen benutzt.
    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
    Super, danke!
    [/COLOR]

    Kommentar


    • #3
      Zitat von AmicaNoctis Beitrag anzeigen
      Kannst du das bitte genauer erklären, warum du es nicht schaffst bzw. was dabei nicht so klappt wie du es erwarten würdest? Davon abgesehen: Verwende besser
      PHP-Code:
      mysql_errno($onemanseoDB
      Du hast es bis dorthin so schön explizit gemacht, da wäre es blöd, damit jetzt aufzuhören, vor allem, wenn du mehrere parallele Verbindungen benutzt.
      Ok danke habe ich geändert. Also es funktioniert einfach nicht das ich mysql_errno der Variable $message übergebe!
      Wenn ich dann mit z.B. echo $message die Variable ausgebe wird diese ignoriert als hätte sie keinen Wert. Auch die if Abfrage geht nicht .
      Kann es sein das man mysql_errno nicht so einfach einer Variable zuweisen kann?
      Code:
       if (!$Result1) {
           $message = mysql_errno($onemanseoDB);
            if ($message == 1062) {
             echo 'doppelter eintrag';  
            }
       }

      Kommentar


      • #4
        Zitat von AKraisser Beitrag anzeigen
        Kann es sein das man mysql_errno nicht so einfach einer Variable zuweisen kann?
        Doch, natürlich kann man.

        Und man kann auch mal var_dump nutzen, um sich anzuschauen, was die Funktion tatsächlich für einen Wert liefert ...!

        Auch die if Abfrage geht nicht .
        Von der Blödsinnigkeit dieser "funzt nich"-Aussage mal abgesehen - hast du denn mal mittels simpler Testausgaben kontrolliert, ob das Script denn überhaupt bis dort kommt? Ob die Bedingungen vorheriger If-Abfragen zutreffend waren ...?


        Lerne bitte langsam mal die Grundlagen einer sinnvollen und logischen Fehlersuche.
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar

        Lädt...
        X