Hilfe mit mysql und php

Dieses Thema Hilfe mit mysql und php im Forum "Webentwicklung, Hosting & Programmierung" wurde erstellt von woelfin, 23. März 2005.

Thema: Hilfe mit mysql und php Hi Kann mir wer vielleicht helfen. Ich hab da ein privates projekt und komm leider nicht so voran wie ich will....

  1. Hi

    Kann mir wer vielleicht helfen. Ich hab da ein privates projekt und komm leider nicht so voran wie ich will.

    Ich hab probleme mit der mysql. Ich will über ein php formular einen Datensatz zu ändern. Den ich mir auf der ausgangseite abgefragt habe und ihn mir in einer Tabelle anzeigen lasse.

    Wenn ich auf den link des jeweiligen Datensatzes klicke den ich ändern will verlinkt er eben auf die

    So schaut der link aus:

    Code:
    
    echo <a href = bearbeiten.php?pro_Bez=$pro_Bez&pro_Detail=$pro_Detail&pro_Preis=$pro_Preis&kate_Bez=$kate_Bez&bearbeiten=1>$pro_Bez</a>;
    
    und die bearbeiten.php schaut so aus:

    Code:
    If ($bearbeiten==1)
        {
           //$sql1=REPLACE INTO produkt (Produkt_Bez, Produkt_Detail, Produkt_Preis) VALUES 
                        //('$pro_Bez',->$pro_Detail',->$pro_Preis');
    
           $sql1=update produkt set Produkt_Bez=$pro_Bez AND Produkt_Detail=$pro_Detail AND
                   Produkt_Preis=$pro_Preis;
           $res1Id=mysql_query($sql1,$linkID);
           echo $sql1;
        }
    
    
    Nur irgendwie tut er das nicht wirklich so wie ich will.

    Komm einfach nicht drauf. Bin schon etwas aus der übung was php angeht leider. (Vielleicht kann mich wer in php auch unterstützen)

    Vielleicht kann mir doch wer helfen.

    LG Wölfin
     
  2. Nur mal als Zusatzinfo ;)

    Welche Datentypen sind:

    Produkt_Bez
    Produkt_Detail
    Produkt_Preis

    Sind sie bzw. nur einer ein String, musst du diese Variable in Hochkomma setzen.
    Du kannst auch alle Variablen in Hochkomma setzen, dann ist es auf jeden Fall richtig ;)

    z.B.
    Code:
    <?php
    
    $sql1=UPDATE produkt 
          SET Produkt_Bez=-> . $pro_Bez .->, 
              Produkt_Detail=-> . $pro_Detail .->, 
              Produkt_Preis=->  . $pro_Preis .-> ;
    
    ?>
    
    (Bitte die Leerschritte entfernen, die sind nur damit man es besser sieht)

    Die AND Anweisung brauchst du hier nicht !

    Ich kenne natürlich dein Projekt nicht, aber sollte bei einer Updateanweisung nicht auf einen Speziellen Datensatz hingewiesen werden ???

    z.B.

    WHERE id = ?

    Im Moment würdest du alle Datensätze in der Tabelle produkt updaten ;)

    gruss conny
     
  3. Hi

    Also

    Produkt_Bez = varchar
    Produkt_Detail=longtext
    Produkt_Preis=dezimal

    Die gleiche Abfrage über where Produkt_ID=$pro_ID habe ich auch schon ausprobiert nur das hat auch nicht geklappt.

    Ich hab deiner neuen $sql1  bei mir geändert habe. Und wenn ich mir die neuen Daten
    die ich geändert habe mir anzeige dann hat er sie auch geändert aber nicht in der DB.

    ich habe ja einen link auf den jeweiligen Datensätze wenn ich eben auf den klicke das man ihn ändern kann.

    LG Wölfin
     
  4. OK, versuche mal folgendes:

    Code:
    <?php
    
    $sql1=UPDATE produkt
          SET Produkt_Bez=->. $pro_Bez .',
              Produkt_Detail=->. $pro_Detail .',
              Produkt_Preis=-> . $pro_Preis .' 
          WHERE Produkt_ID=$pro_ID;
    mysql_query($sql1);
    echo $sql1.<hr>;
    echo mysql_errno() . :  . mysql_error() . \n;
    
    ?>
    
    Dazu solltest du aber in deinem Link die Produkt_ID mit übergeben.

    Das Ergebnis bitte hier Posten ;)

    Sind bei dir in der php.ini register_globals auf on oder off gestellt ???

    Generell solltest du eh mit register_globals off arbeiten.
    D.H du musst den Request abfragen. z.B.:

    Code:
    <?php
    if($_REQUEST['bearbeiten'] == 1) {
    
    }
    ?>
    

    gruss conny
     
  5. Entschulige aber was heißt heir posten ! Bin seit heute erst hier ?

    Also ich hab das geändert aber er kommt bei mir mit einer fehlermeldung dich ich nicht ganz verstehen

    Code:
    UPDATE produkt SET Produkt_Bez =->Schrank', Produkt_Detail =->Bauern', Produkt_Preis =->35000' WHERE Produkt_ID = 
    
    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->' at line 4UPDATE produkt SET Produkt_Bez =->Schrank', Produkt_Detail =->Bauern', Produkt_Preis =->35000' WHERE Produkt_ID = 
    
    Also irgendwie findet er anscheinden die $pro_ID nicht aber ich habe sie im Link mit übergeben.

    Code:
    echo <a href = bearbeiten.php?Produkt_ID=$pro_ID&pro_Bez=$pro_Bez&pro_Detail=$pro_Detail&pro_Preis=$pro_Preis&kate_Bez=$kate_Bez&bearbeiten=1>$pro_Bez</a>;
    

    Und die berarbeiten.php habe ich auf das jetzt geändert :

    Code:
      If($_REQUEST['bearbeiten']==1)
        {
                  
        $sql1=UPDATE produkt SET Produkt_Bez=->. $pro_Bez .',
                       Produkt_Detail=->. $pro_Detail .',
                       Produkt_Preis=-> . $pro_Preis .'
                       WHERE Produkt_ID=$pro_ID;
    
           $res1Id=mysql_query($sql1,$linkID)
                   or print $sql1.'<br />'.\n.mysql_error(); 
           echo $sql1;
        }
    
    LG Wölfin
     
  6. Sieht nicht so aus als ob du die Produkt_ID übergeben hast ;)

    mach mal ein:
    Code:
    <?php
    print_r($_REQUEST);
    ?>
    
    ganz am Anfang der Datei. Dann sollten dir alle Variablen angezeigt werden die per Request übergeben werden.

    Fehlt der Wert bei Produkt_ID, ist der Fehler ersteinmal woanders zu suchen ;)

    gruss conny

    edit: Posten => Antworten
     
  7. Kommando zurück ;)

    Ich glaube, ich habe den Verursacher gefunden :D

    im Link übergibst du die Variable Produkt_ID,
    und in dem SQL-String fragst du die Variable $pro_ID ab.

    Die 2 Variablen sollten schon gleich sein ;)


    gruss conny
     
  8. Also zu deiner voherigen Hilfe

    Mit der $_Request

    Hab ich folgdes heraus bekommen
    Code:
    Array ( [Produkt_ID] => 42 [pro_Bez] => Schrank [pro_Detail] => Bauern [pro_Preis] => 35000 [kate_Bez] => Holz [bearbeiten] => 1 [pma_theme] => original [pma_lang] => de-iso-8859-1 [pma_charset] => iso-8859-1 ) 
    
    Und soweit ich es sehe über gibt er mir die Produkt_ID
     
  9. Gut, also muss deine Abfrage so aussehen:
    Code:
    <?php
    If($_REQUEST['bearbeiten']==1)
      {
           
      $sql1=UPDATE produkt SET Produkt_Bez=->. $pro_Bez .',
              Produkt_Detail=->. $pro_Detail .',
              Produkt_Preis=-> . $pro_Preis .'
              WHERE Produkt_ID=.$Produkt_ID.;
    
        $res1Id=mysql_query($sql1,$linkID)
            or print $sql1.'<br />'.\n.mysql_error();
        echo $sql1;
      }
    ?>
    
    gruss conny
     
  10. Und zu deiner zweiten Hilfe

    Auf der Ausgangsseite habe ich eine Tabelle wo die Datensätze drinnen stehen die ich mit der Select Abfrage heraus lese

    Aber wieso Produkt_ID ist die Spalte in der Tabelle produkt
    und $pro_ID habe ich so zugewiesen

    Code:
    
    $abfrage = SELECT produkt.Produkt_ID, produkt.Produkt_Bez, 
                       produkt.Produkt_Detail, produkt.Produkt_Preis,
                       kategorie.Kategorie_Bez from produkt, kategorie where 
                       produkt.Kategorie_ID = kategorie.Kategorie_ID;
    
    while($zeile = mysql_fetch_array($resId,MYSQL_BOTH)) 
       { 
            //Spalte Prokdukt ID 
            $pro_ID =$zeile[0]; 
            //Spalte Produkt Bez 
            $pro_Bez=$zeile[1]; 
            //Spalte Produkt Detail 
            $pro_Detail=$zeile[2]; 
            //Spalte Produkt Preis 
            $pro_Preis=$zeile[3]; 
            //Spalte Kategorie Bez 
           $kate_Bez=$zeile[4]; 
       } 
    
    Und der berabeiten link schaut so aus:

    Code:
    echo <a href = bearbeiten.php?Produkt_ID=$pro_ID&pro_Bez=$pro_Bez&pro_Detail=$pro_Detail&pro_Preis=$pro_Preis&kate_Bez=$kate_Bez&bearbeiten=1>$pro_Bez</a>;
    

    Das heißt er soll das was in Spale 0 drinnen steht also in der Spalte Produkt_ID in die Variable $pro_ID zuweisen.
     
Die Seite wird geladen...

Hilfe mit mysql und php - Ähnliche Themen

Forum Datum
Brauche hilfe bei einem MySql Script Windows XP Forum 1. Feb. 2006
Bräuchte hilfe bei php - MySql Windows XP Forum 6. Dez. 2005
[Hilfe] MySQL-Dump local auf webserver Webentwicklung, Hosting & Programmierung 8. Juni 2005
BOOTMGR fehlt HILFE Windows 7 Forum 7. Nov. 2016
probleme mit windows 7 update bitte um hilfe. Windows 7 Forum 4. Nov. 2016