neuste ID aus Datenbank anzeigen

websnake75

Benutzer
Beiträge
5
Ich möchte gerne aus meiner DB die zuletzt angelegte ID anzeigen lassen. Kann mir jemand sagen wo in meinem Code der Fehler ist?

PHP:
<?php 
//**********************************************
// Datenbankverbindung herstellen
//**********************************************
        mysql_connect("localhost","root","root"); // Server ; User ; Passwort
        mysql_select_db("fffk"); // Datenbank

//**********************************************
// Daten festlegen / Variablen füllen
//**********************************************

    $intAnrede = $_POST["intAnrede"];
    $strVorname = $_POST["strVorname"];
    $strNachname = $_POST["strNachname"];
    $strEmail = $_POST["strEmail"];
    $txtNachricht = $_POST["txtNachricht"];
    $intEmpfehlung = $_POST["intEmpfehlung"];
    $intEmpfaenger = $_POST["intEmpfaenger"];

//**********************************************
// Datensatz einfügen
//**********************************************
    $SQL = "INSERT INTO tblKontakt (" ;
        $SQL = $SQL . "intAnrede, " ;
        $SQL = $SQL . "strVorname, " ;
        $SQL = $SQL . "strNachname, " ;
        $SQL = $SQL . "strEmail, " ;
        $SQL = $SQL . "intEmpfaenger, " ;
        $SQL = $SQL . "intEmpfehlung, " ;
        $SQL = $SQL . "txtNachricht " ;
    $SQL = $SQL . ") VALUES (" ;
        $SQL = $SQL . "'" . $intAnrede . " ', " ;
        $SQL = $SQL . "'" . $strVorname . " ', " ;
        $SQL = $SQL . "'" . $strNachname . "', " ;
        $SQL = $SQL . "'" . $strEmail ."', " ;
        $SQL = $SQL . "'" . $intEmpfaenger ."', " ;
        $SQL = $SQL . "'" . $intEmpfehlung ."', " ;
        $SQL = $SQL . "'" . $txtNachricht ."' " ;
    $SQL = $SQL . ")" ;
    
    echo "SQL = " . $SQL . "<br><br>" ;
    
    mysql_query($SQL); // Hier wird der Befehl an die Datenbank gesendet und ausgeführt
    $RECrows = mysql_affected_rows(); // wir prüfen, wie viele Datensätze von unserer Aktion betroffen sind
    // Sollte das Ergebnis -1 sein, so war kein Datensatz betroffenund es gab einen Fehler - dann müssen Sie den SQL Befehl debuggen
    
    echo "eingef&uuml;gte Datens&auml;tze: " . $RECrows . "<br><br>";
    
            //***************************************************
            // UID ermitteln
            //***************************************************
                
                $SQL = "SELECT max(`intID`) as newid FROM `tblkontakt`" ;
                
                //echo "SQL = " . $SQL . "<br><br>" ;
                
                $REC = mysql_query($SQL);
                
                $RECset = mysql_fetch_assoc($REC);
                $intKontaktformID = $RECset["newid"];
                
                echo "newid = lntID = " . $lntID . "<br><br>";
    
    
?>
Gruß Ronald
 
Werbung:

Charly

Datenbank-Guru
Beiträge
306
AW: neuste ID aus Datenbank anzeigen

Hallo Roland,

du übergibst in deiner SQL-Anweisung die Integer-Werte als String.

Wenn du die Hochkommatas vor und nach den int-Werten weglässt dürfte es gehen

in etwa so:

Code:
[COLOR=#0000bb][COLOR=#0000bb]$SQL [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000bb]$SQL [/COLOR][COLOR=#007700]. [/COLOR][COLOR=#dd0000]") VALUES (" [/COLOR][COLOR=#007700];[/COLOR]
        [COLOR=#0000bb]$SQL [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000bb]$SQL [/COLOR][COLOR=#007700]. [/COLOR][COLOR=#0000bb]$intAnrede [/COLOR][COLOR=#007700]. [/COLOR][COLOR=#dd0000]" , " [/COLOR][COLOR=#007700];[/COLOR]
[COLOR=#0000bb]$SQL [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000bb]$SQL [/COLOR][COLOR=#007700]. [/COLOR][COLOR=#dd0000]"'" [/COLOR][COLOR=#007700]. [/COLOR][COLOR=#0000bb]$strVorname [/COLOR][COLOR=#007700]. [/COLOR][COLOR=#dd0000]" ', " [/COLOR][COLOR=#007700];[/COLOR]
[COLOR=#0000bb]$SQL [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000bb]$SQL [/COLOR][COLOR=#007700]. [/COLOR][COLOR=#dd0000]"'" [/COLOR][COLOR=#007700]. [/COLOR][COLOR=#0000bb]$strNachname [/COLOR][COLOR=#007700]. [/COLOR][COLOR=#dd0000]"', " [/COLOR][COLOR=#007700];[/COLOR]
[COLOR=#0000bb]$SQL [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000bb]$SQL [/COLOR][COLOR=#007700]. [/COLOR][COLOR=#dd0000]"'" [/COLOR][COLOR=#007700]. [/COLOR][COLOR=#0000bb]$strEmail [/COLOR][COLOR=#007700].[/COLOR][COLOR=#dd0000]"', " [/COLOR][COLOR=#007700];[/COLOR]
[COLOR=#0000bb]$SQL [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000bb]$SQL [/COLOR][COLOR=#007700]. [/COLOR][COLOR=#0000bb]$intEmpfaenger [/COLOR][COLOR=#007700].[/COLOR][COLOR=#dd0000]", " [/COLOR][COLOR=#007700];[/COLOR]
[COLOR=#0000bb]$SQL [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000bb]$SQL [/COLOR][COLOR=#007700]. [/COLOR][COLOR=#0000bb]$intEmpfehlung [/COLOR][COLOR=#007700].[/COLOR][COLOR=#dd0000]", " [/COLOR][COLOR=#007700];[/COLOR]
[COLOR=#0000bb]$SQL [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000bb]$SQL [/COLOR][COLOR=#007700]. [/COLOR][COLOR=#dd0000]"'" [/COLOR][COLOR=#007700]. [/COLOR][COLOR=#0000bb]$txtNachricht [/COLOR][COLOR=#007700].[/COLOR][COLOR=#dd0000]"' " [/COLOR][COLOR=#007700];[/COLOR]
[COLOR=#0000bb]$SQL [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000bb]$SQL [/COLOR][COLOR=#007700]. [/COLOR][COLOR=#dd0000]")" [/COLOR][COLOR=#007700];[/COLOR]
[/COLOR]


Gruß Charly
 

websnake75

Benutzer
Beiträge
5
AW: neuste ID aus Datenbank anzeigen

Das hat leider nicht zum gewünschten Ergebnis geführt. Folgende Meldung bekomme ich zurück:

SQL = INSERT INTO tblKontakt (intAnrede, strVorname, strNachname, strEmail, intEmpfaenger, intEmpfehlung, txtNachricht ) VALUES (1 , susi, sorglos, susi@tst.de, 1, 0, ffgghhh ghdgh zjjfressdsd )

eingefügte Datensätze: -1

newid = lntID =

Der Datensatz wurde jetzt auch nicht in die DB geschrieben. Ich möchte eigentlich bei erfolgreicher Datensatzanlage hinter IntID die höchste ID angezeigt bekommen.
 
Werbung:

thomas_w

Datenbank-Guru
Beiträge
104
AW: neuste ID aus Datenbank anzeigen

Wie Charly schon gesagt hat:

Wenn du die Hochkommatas vor und nach den int-Werten weglässt dürfte es gehen
Du hast jetzt bei allen Spalten die ' Zeichen weggelassen, bei CHAR oder VARCHAR Spalten müssen die ' natürlich bleiben. Was passiert denn bei folgendem:

Code:
INSERT INTO tblKontakt (intAnrede, strVorname, strNachname,  strEmail,  intEmpfaenger, intEmpfehlung, txtNachricht ) VALUES 
(1 , 'susi',  'sorglos',  '[EMAIL="susi@tst.de"]susi@tst.de[/EMAIL]', 1, 0, 'ffgghhh ghdgh zjjfressdsd' );
Grüße
Thomas
 
Oben