+ Antworten
Ergebnis 1 bis 4 von 4

Thema: mysql problem

  1. #1
    TP-Member Hasibit macht alles soweit korrekt
    Registriert seit
    Jun 2001
    Ort
    NÖ/Austria
    Beiträge
    74

    mysql problem

    hab ein problem:

    habe folgenden code und will vom formular lesen (funkt auch):

    include("config.php");

    // Verbindung zur Datenbank aufbauen
    $db = @mysql_connect($dbhost, $dbuname,$dbpwd) or die(mysql_error());

    if(!$db){
    echo "Kein Verbindung möglich!\n";
    exit;
    }

    @mysql_select_db($dbname,$db) or die(mysql_error());


    $sqlab = "INSERT INTO user (user_login, user_vorname, user_name, user_adresse, user_plz, user_ort, user_land, user_bundesland, user_telefon, user_fax, user_mobil, user_email, user_passwort, user_besetzung, user_homepage) VALUES ('$login', '$vorname', '$name', '$adresse', '$plz', '$ort', '$land', '$bundesland', '$telefon', '$fax', '$mobil', '$email', '$passwort', '$besetzung', '$homepage')";


    $result = @mysql_db_query($sqlab);

    if($result)
    {
    echo "Benutzer angelegt!";
    }
    else{
    echo "Fehler beim Eintragen des Benutzers!";
    }

    $num = mysql_affected_rows();
    if ($num > 0){
    echo "Es wurde 1 Datensatz hinzugefügt<p>";
    }
    else
    {
    echo "Es ist ein Fehler aufgetreten, ";
    echo "es wurde kein Datensatz hinzugefügt<p>";
    }
    mysql_close($db);

    bekomm eine verbindung, doch kann keine datensätze einfügen!
    habe online auf meiner mysql db schon daten eingefügt und es hat funktioniert, mit dem selben insert into befehl!

    es sind alle variablen varchar bis auf user_besetzung das ist ein int!

    hab ich einen fehler in der syntax???

    mfg
    hasibit

  2. #2
    TP-Newbie partykiller macht alles soweit korrekt
    Registriert seit
    Jan 2003
    Ort
    Flensburg
    Beiträge
    2
    Hi,
    dein INSERT sieht richtig aus.
    Das einzige was nicht funktionieren dürfte ist

    $num = mysql_affected_rows();
    if ($num > 0){
    echo "Es wurde 1 Datensatz hinzugefügt<p>";
    }
    else
    {
    echo "Es ist ein Fehler aufgetreten, ";
    echo "es wurde kein Datensatz hinzugefügt<p>";
    }


    ersetze das mal durch



    $num = mysql_affected_rows($result);
    if ($num > 0){
    echo "Es wurde 1 Datensatz hinzugefügt<p>";
    }
    else
    {
    echo "Es ist ein Fehler aufgetreten, ";
    echo "es wurde kein Datensatz hinzugefügt<p>";
    }


    Du hast nämlich bei dem Befehl mysql_affected_rows() nichts in die klammern gesetzt daher weiß er nicht von welchem mysql Befehl er die anzahl der zuletzt betroffenen zeilen ausgeben soll und deswegen müsste dir immer der else zweig ausgegeben werden.


    www.php-park.de

  3. #3
    TP-Member Hasibit macht alles soweit korrekt
    Registriert seit
    Jun 2001
    Ort
    NÖ/Austria
    Beiträge
    74
    das ist meiner meinung sicher nicht der fehler!

    es funktioniert nämlich schon das insert nicht?
    keine ahnung warum!?!

  4. #4
    TP-Specialist mike bringt sich richtig ein Avatar von mike
    Registriert seit
    Jan 2002
    Ort
    TP/Dynamik
    Beiträge
    2.876
    resource mysql_db_query ( string database, string query [, resource link_identifier])

    - da fehlt die db in deinem funktionsaufruf.

    ansich predige ich schon zu oft, auch die query entsprechen nach fehlern abzusichern. würde viele 'warum geht die query nicht' - posts von hausaus vermeiden.
    Gehelft? Hier kannst du dich bedanken.

    mike

+ Antworten

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51