Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] MySQL Fehler

Einklappen

Neue Werbung 2019

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

  • mcsebbi
    hat ein Thema erstellt [Erledigt] MySQL Fehler.

    [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'";
            }
            }
        }
    ?>

  • wolf29
    antwortet
    Keine Problem! Über ne Bewertung freuen wir uns auch immer

    Wolf29

    Einen Kommentar schreiben:


  • mcsebbi
    antwortet
    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.

    Einen Kommentar schreiben:


  • wolf29
    antwortet
    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

    Einen Kommentar schreiben:


  • mcsebbi
    antwortet
    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.

    Einen Kommentar schreiben:


  • lstegelitz
    antwortet
    Zitat von mcsebbi Beitrag anzeigen
    geht leider immer noch nicht.
    Bein gebrochen? Oder sind vielleicht gar keine Beine dran? Fragen über Fragen...

    Einen Kommentar schreiben:


  • wolf29
    antwortet
    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

    Einen Kommentar schreiben:


  • mcsebbi
    antwortet
    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.

    Einen Kommentar schreiben:


  • wolf29
    antwortet
    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

    Einen Kommentar schreiben:


  • mcsebbi
    antwortet
    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.

    Einen Kommentar schreiben:


  • wolf29
    antwortet
    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

    Einen Kommentar schreiben:


  • mcsebbi
    antwortet
    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?

    Einen Kommentar schreiben:


  • wolf29
    antwortet
    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

    Einen Kommentar schreiben:


  • BlackScorp
    antwortet
    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


    Einen Kommentar schreiben:


  • lstegelitz
    antwortet
    LIMIT 1 (nicht LIMIT=1)

    Einen Kommentar schreiben:

Lädt...
X