Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] MySQL Fehler

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

  • [Erledigt] MySQL Fehler

    Habe mal wieder ein Problem. Zwar habe ich vesucht etwas zu Programmieren.
    Nun SOllte er überprüfen ob der User existiert:
    PHP-Code:
    $result mysql_query("SELECT Firma FROM blue WHERE Firma LIKE '$firma' LIMIT = 1");
    echo 
    mysql_errno() . ": " mysql_error(). "\n";
    $menge mysql_num_rows($result);
    if(
    $menge == 0){} 
    Doch dann sagte er:
    Code:
     mysql_num_rows() expects parameter 1 to be resource, boolean given in /users/mcsebbi/www/blue/blue.php  on line 34
    Also nachgeschaut und Error anzeigen lassen:
    Code:
    1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '= 1' at line 1
    Leichtsinn fehler oder wo ist das Problem?
    PHP-Code:
    <html>
    <form method="POST">
    <legend>Eintragen</legend>
    <label>Person: <input type="text" name="firma" /><br></label>
    <label>Punkte: <input type="text" name="punkte" /><br></label>
    <label>Plus (+) oder Minus(-): <input type="text" name="zeichen" /><br></label>
    <input type="submit" name="Absenden" value="absenden">
    Wichtig, dass Rechenzeichen mit einem + oder einem - Angeben.
    <?php

    //BlueCard Sammlung. 

    $firma $_POST["firma"];
    $punkt $_POST["punkte"];
    $zeichen $_POST["zeichen"];
    $start $_POST["Absenden"];

    if(
    $start != NULL){
        if (
    $zeichen != "+" and $zeichen != "-"){
        echo 
    "<p>Rechenzeichen ungültig, bitte ein + oder ein - angeben!</p>";
        break;
        }

        
    //MySQL verbindung aufnehmen & Datenbank auswählen.

    $verbindung mysql_connect("localhost""mcsebbi_xxx" "passwort")
    or die(
    "Verbindung zur Datenbank konnte nicht hergestellt werden");
    mysql_select_db("mcsebbi_blue") or die ("Datenbank konnte nicht ausgewählt werden"); 

    //Überprüfen ob Firma(Person) existiert ansonsten neu hinzufügen. 

    $result mysql_query("SELECT Firma FROM blue WHERE Firma LIKE '$firma' LIMIT = 1");
    echo 
    mysql_errno() . ": " mysql_error(). "\n";
    $menge mysql_num_rows($result);
    if(
    $menge == 0)
        {
        
    $eintrag "INSERT INTO blue (Firma, Punkte) VALUES ('$firma', '$punkt')";
        
    $eintragen mysql_query($eintrag);

        if(
    $eintragen == true)
            {
            echo 
    "Benutzername <b>$firma</b> war nicht vorahnden wurde erstellt.";
            break;
            }
        else
            {
            echo 
    "Fehler beim Eintragen des Benutzernames."
            }
            }

            
    //Falls Vorhanden Punkte ändern!

    $abfrage "SELECT Firma, Punkte FROM blue WHERE Firma LIKE '$firma' LIMIT 1";
    $ergebnis mysql_query($abfrage);
    $row mysql_fetch_object($ergebnis);
        if(
    $row->Firma == $firma){
            if(
    $zeichen == "+"){
            
    $punkte $row->Punkte $punkt;
            
    $update "UPDATE blue punkte='$punkte' WHERE Firma = '$firma'";
            }elseif (
    $zeichen == "-"){
            
    $punkte $row->Punkte $punkt;
            
    $update "UPDATE blue punkte='$punkte' WHERE Firma = '$firma'";
            }
            }
        }
    ?>


  • #2
    LIMIT 1 (nicht LIMIT=1)
    Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

    Kommentar


    • #3
      mysql_query leifert datensätze bei SELECT oder false wert ich würde das ganze so machen:

      PHP-Code:
      $result mysql_query("SELECT count(Firma) as menge FROM blue WHERE Firma LIKE '$firma' LIMIT = 1");
      $row mysql_fetch_object($result);
      if(
      $row->menge == 0){

      //.. tue irgendwas


      apt-get install npm -> npm install -g bower -> bower install <package> YOLO https://www.paypal.me/BlackScorp | Mein Youtube PHP Kanal: https://www.youtube.com/witalimik

      Kommentar


      • #4
        Hi.

        Mach doch lieber so, weil du dann mit den ' und " nicht durcheinander kommst:

        PHP-Code:
        $qry "SELECT Firma FROM blue WHERE Firma LIKE '".$firma."'";
        $result mysql_query($qry);

        $anzahl mysql_num_rows($result); 
        ...und LIMIT wird ohne "=" benutzt. Schauste hier:

        SQL Limit - MySQL Limit - SQL Limit Results

        Wolf29
        while (!asleep()) sheep++;

        Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

        Kommentar


        • #5
          Jetzt klappt es, aber er ändert mir Punkte nicht ab. bzw. trägt sie nicht ein. Zwar ohne Fehler aber habe ich weider ein fehler drinne?

          Kommentar


          • #6
            Welche Punkte ändert er nicht ab? Wenn Du Daten in der DB ändern willst, musst Du UPDATE als SQL Statement nutzen. Die richtige Syntax dafür solltest du mal googeln!!

            Wolf29
            while (!asleep()) sheep++;

            Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

            Kommentar


            • #7
              PHP-Code:
               if($row->Firma == $firma){
                      if(
              $zeichen == "+"){
                      
              $punkte $row->Punkte $punkt;
                      
              $update "UPDATE blue punkte='$punkte' WHERE Firma = '$firma'";
                      }elseif (
              $zeichen == "-"){
                      
              $punkte $row->Punkte $punkt;
                      
              $update "UPDATE blue punkte='$punkte' WHERE Firma = '$firma'";
                      }
                      } 
              das Passiert nicht.

              Kommentar


              • #8
                Ja, weil die Syntax nicht stimmt. Hab Dir doch gesagt, dass Du nach der korrekten Syntax googeln sollst! Dir fehlt das "SET". Schauste hier:

                SQL UPDATE

                Wolf29
                while (!asleep()) sheep++;

                Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

                Kommentar


                • #9
                  PHP-Code:
                  $abfrage "SELECT Firma, Punkte FROM blue WHERE Firma LIKE '$firma' LIMIT 1";
                  $ergebnis mysql_query($abfrage);
                  $row mysql_fetch_object($ergebnis);
                      if(
                  $row->Firma == $firma){
                          if(
                  $zeichen == "+"){
                          
                  $punkte $row->Punkte $punkt;
                          
                  $update "UPDATE blue SET punkte='$punkte' WHERE Firma = '$firma'";
                          }elseif (
                  $zeichen == "-"){
                          
                  $punkte $row->Punkte $punkt;
                          
                  $update "UPDATE blue SET punkte='$punkte' WHERE Firma = '$firma'";
                          }
                          }
                      } 
                  geht leider immer noch nicht.

                  Kommentar


                  • #10
                    Und so?

                    PHP-Code:
                    $abfrage "SELECT Firma, Punkte FROM blue WHERE Firma LIKE '$firma' LIMIT 1";
                    $ergebnis mysql_query($abfrage);
                    $row mysql_fetch_object($ergebnis);
                        if(
                    $row->Firma == $firma){
                            if(
                    $zeichen == "+"){
                            
                    $punkte $row->Punkte $punkt;
                            
                    $update "UPDATE blue SET punkte='".$punkte."' WHERE Firma = '".$firma."'";
                            }elseif (
                    $zeichen == "-"){
                            
                    $punkte $row->Punkte $punkt;
                            
                    $update "UPDATE blue SET punkte='".$punkte."' WHERE Firma = '".$firma."'";
                            }
                            }
                        } 
                    Gib mal die Fehlermeldung aus. Mit mysql_error() oder ganz oben mit ERROR_REPORTING(E_ALL);

                    Wolf29
                    while (!asleep()) sheep++;

                    Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

                    Kommentar


                    • #11
                      Zitat von mcsebbi Beitrag anzeigen
                      geht leider immer noch nicht.
                      Bein gebrochen? Oder sind vielleicht gar keine Beine dran? Fragen über Fragen...
                      Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

                      Kommentar


                      • #12
                        habe
                        PHP-Code:
                         echo ERROR_REPORTING(E_ALL);
                                echo 
                        mysql_errno() . ": " mysql_error(). "\n"
                        drangehängt, aber der sagt nur: 0: 61350:
                        ohne Echo kommt nichts.

                        Kommentar


                        • #13
                          Jetzt sehe ich, was fehlt: du musst natürlich ein mysql_query() bei deinen Update Statements einfügen, sonst führt er auch nichts aus!!

                          z.B.

                          PHP-Code:
                          $abfrage "SELECT Firma, Punkte FROM blue WHERE Firma LIKE '$firma' LIMIT 1";
                          $ergebnis mysql_query($abfrage);
                          $row mysql_fetch_object($ergebnis);
                              if(
                          $row->Firma == $firma){
                                  if(
                          $zeichen == "+"){
                                  
                          $punkte $row->Punkte $punkt;
                                  
                          $update "UPDATE blue SET punkte='".$punkte."' WHERE Firma = '".$firma."'";
                                  }elseif (
                          $zeichen == "-"){
                                  
                          $punkte $row->Punkte $punkt;
                                  
                          $update "UPDATE blue SET punkte='".$punkte."' WHERE Firma = '".$firma."'";
                                  }
                                  
                          $qry_update mysql_query($update);
                                  if (
                          $qry_update){
                                   echo 
                          "Update war erfolgreich!";
                                  }else{
                                   echo 
                          mysql_errno() . ": " mysql_error(). "\n";  
                                  }
                                  }
                              } 
                          Anbei: ERROR_REPORTING(E_ALL); muss ohne "echo" reingeschrieben werden, möglichst an erster Stelle in deinem Skript!

                          Wolf29
                          while (!asleep()) sheep++;

                          Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

                          Kommentar


                          • #14
                            Oh ok, also wieder ein Leichtsinnfehler von mir. Danke ich muss sagen heute habe ich wieder gelernt. Dann bis zu nächsten mal und vielen Dank. Ich möchte mich auch endschuldigen, dass ich einfach komme und sage wo ist der Fehler.

                            Kommentar


                            • #15
                              Keine Problem! Über ne Bewertung freuen wir uns auch immer

                              Wolf29
                              while (!asleep()) sheep++;

                              Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

                              Kommentar

                              Lädt...
                              X