Ankündigung

Einklappen
Keine Ankündigung bisher.

db-schnittstelle will nicht

Einklappen

Neue Werbung 2019

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

  • db-schnittstelle will nicht

    habe keine ahnung wo der fehler liegt, am besten poste ich einfach mal den code:
    (danke fuer jede hilfe)

    <?
    if ($_POST['gesendet'] == "send")
    {
    //Benutzerkennung
    $host="localhost"; $user="root"; $pw=""; $db="mh";
    //Connection
    $conn = mysql_connect($host, $user, $pw);
    //Mysql-Result-Query
    $res = mysql_db_query("$db", "insert tische (sn, modell, farbe, preis, bestand) values ('$sn', '$mod', '$farbe', '$preis', '$best')");
    // Zaehlervariable "num"
    $num=mysql_affected_rows();

    if ($num>0)
    {
    echo "Ihr eintrag wurde erfolgreich geschrieben!!! ";
    }
    else
    {
    echo "Es ist ein Fehler aufgetreten!!! ";
    }

    mysql_close($conn);
    }
    else
    {
    //Formulardaten
    echo '
    <html>
    <body>
    Bitte geben Sie Ihre gewuenschten Attribute ein und senden Sie das Formular ab:


    <form action = "index.php?site=hinzu" method = "post">
    <input name = "sn"> Seriennummer


    <input name = "mod"> Modell


    <input name = "farbe"> Farbe


    <input name = "preis"> Preis


    <input name = "best"> Bestand



    <input type="hidden" name="gesendet" value="send">
    <input type = "submit">
    <input type = "reset">
    </form>
    </body>
    </html>';
    }

    ?>

    ich habe den code nach meinen jetzigen "besten" wissen geschrieben und sehe echt keinen fehler... jedoch greift bei jedem aufruf meine schleife "ein fehler ist aufgetreten"
    .... in die db wird natuerlich auch nichts geschrieben!

  • #2
    [php] Tags verwenden.
    mysql_db_query ist seit php 4.0.6 als veraltete markiert.
    Erst die Datenbank (einmal) mit mysql_select_db auswählen, dann mysql_query verwenden (siehe Doku).

    Fehler anzeigen lassen:
    a) Skript mit
    PHP-Code:
    <?php error_reporting(E_ALL); ini_set('display_errors'true); ?>
    beginnen.
    b) mysql_connect, mysql_select_db, mysql_query jeweils mit or die(mysql_error()) versehen
    PHP-Code:
    <?php
    if ($_POST['gesendet'] == "send")
    {
        
    //Benutzerkennung
        
    $host="localhost"$user="root"$pw=""$db="mh";
        
    //Verbindung
        
    $conn mysql_connect($host$user$pw) or die(mysql_error());
        
    // Datenbank wählen
        
    mysql_select_db($db$conn) or die(mysql_error());
        
    //Abfrage zusammenstellen
        
    $sql "insert tische (sn, modell, farbe, preis, bestand) values ('$sn', '$mod', '$farbe', '$preis', '$best')";
        
    $res mysql_query($sql) or die(mysql_error().':'.$sql);
    usw usw

    Kommentar


    • #3
      1. phpbb tags: [php] benutzen
      2. code einrücken
      3. nicht neu posten sondern die edit funktion benützen!

      stego87

      toll...zu langsam...

      Kommentar


      • #4
        puhh danke leute.
        ich merke schon, mein php-wissen ist ja total veraltet. mit diesen probs schlag ich mich seit einer woche rum, ich sollte wohl mal ein php-umstiegs-howto durchlesen. auf jedenfall danke fuer die schnellen antworten.

        hab die code zeilen mal eingefuegt und bekomme nun folgende meldung:

        jetzt sagt er mir, das meine variablen nicht bekannt sind:

        Notice: Undefined variable: sn in /var/www/dause/hinzu.php on line 14

        Notice: Undefined variable: mod in /var/www/dause/hinzu.php on line 14

        Notice: Undefined variable: farbe in /var/www/dause/hinzu.php on line 14

        Notice: Undefined variable: preis in /var/www/dause/hinzu.php on line 14

        Notice: Undefined variable: best in /var/www/dause/hinzu.php on line 14
        Duplicate entry '0' for key 1:insert tische (sn, modell, farbe, preis, bestand) values ('', '', '', '', '')

        Kommentar


        • #5
          values ('', '', '', '', '')
          Dann sollen $sn, $mod usw. wohl Parameter zB aus einem Formular sein. Sind sie aber in der Form nicht, da vermutlich register_globals=off gesetzt ist. Das ist auch gut so; es müssen "nur" die Skripte angepasst werden: http://de3.php.net/manual/de/security.globals.php
          Auch gleich mitnehmen: http://faq-phpfriend.de/ch/ch-databases.html -> 18. Wie kann ich bösartigen Code in SQL-Abfragen unterbinden?

          Kommentar


          • #6
            was bedeutet deine beschreibung, das meine parameter aus einem formular sind/sein sollen, aber in der form nicht sind?

            Kommentar


            • #7
              Ja mei, lies Dir doch erstmal die verlinkten Seiten durch.

              Kommentar


              • #8
                sry bin wohl uebermueded....
                man hoert vllt. nochmal voneinander, ich heul hier morgen bestimmt wieder rum!

                mfg und guuutz naechtle
                zottel

                Kommentar

                Lädt...
                X