46356
Goto Top

ID will sich nicht erhöhen lassen wollen!

geschlossengelöstFragePHPEntwicklung
Hallo!

Ich sitz hier schon eine Stunde und löse das Problem einfach nicht!
Wer kann mir hier weiterhelfen?

Die ID wird nicht erhöht!
Es wird immer nur eine 0 ausgegeben und eine 0 in die DB geschrieben!

 $abfrage = "SELECT ID FROM GENERALLY LIMIT 1";  
 $ergebnis = mysql_query($abfrage);
 while($row = mysql_fetch_object($ergebnis))   
    {
    $ID = "$row->ID";  
    echo $ID;
    $new_id = $ID++;
    echo $new_id;
 
    $eintrag = "INSERT INTO GENERALLY (ID) VALUES   
    ('$new_id');";  
    $eintragen = mysql_query($eintrag); 
      }

Dieses Script soll die aktuellste ID von der DB ausgeben und anschließend um 1 erhöhen

Vielen Dank für Eure Mithilfe,
Alexander

Edit:

$ID = "$row->ID";
funktioniert sowohl mit Anführungszeichen als auch ohne " nicht!

Content-ID: 76847

Url: https://administrator.de/forum/id-will-sich-nicht-erhoehen-lassen-wollen-76847.html

Ausgedruckt am: 18.04.2025 um 12:04 Uhr

Dani
Dani 30.12.2007 um 00:53:20 Uhr
Goto Top
Abend Alex,
äh...du wirst doch nicht im ERnst eine Tabelle haben mit einem Spalte (ID) oder? Sowas macht nämlich keinen Sinn! Des Weitern was möchtest du eigentlich damit erreichen? Denn es gibt eigentlich eine Autoinkrementfunktion die dir sowas abnimmt.
Schilder einfach mal, was du machen willst?


Grüße
Dani
42503
42503 30.12.2007 um 09:53:45 Uhr
Goto Top
Guten Morgen,

natürlich stimmt das was Dani sagt. Aber wenn du so willst....

$sql = "SELECT ID FROM tabelle ORDER BY id ASC";
$query = mysql_query($sql);
while($row = mysql_fetch_array($query)){
$AktuelleId = $row["id"];
}
$AktuelleId++;
// Hier der Eintrag....

Wenn du es "professionel" machen möchtest setze den Typ von ID wie Dani schon sagt auf Autoinkrement. Danach passiert das erhöhen der ID automatisch.

Beispiel:

Letzer Eintrag in Tabelle:
id name strasse
1 max musterstraße

Nun möchtest du Anette Mustermann noch hinzufügen. Die Query lautet so:

INSERT INTO tabelle (name, strasse) VALUES ('anette','bahnhofstrasse');

Nun sieht die Tabelle (auch wenn keine ID eingiebst face-wink) so aus:
id name strasse
1 max musterstraße
2 anette bahnhofstrasse

Viele Grüße

Gespenst
46356
46356 30.12.2007 um 10:52:30 Uhr
Goto Top
Hallo!

Habs mit autoinkrement versucht, hat aber leider nicht geklappt...
In phpmyadmin habe ich die Spalte ID ausgewählt und anschließend
als Extra Autoinkrement hinzugefügt...

4f92f8c3d25c11955b4e50cd580e8eb3-autoinkrement

Leider bekam ich folgende Fehlermeldung:

#1075 - Incorrect table definition; there can be only one auto column and it must be defined as a key


Wer kann mir da weiterhelfen?


Lg. Alex
42503
42503 30.12.2007 um 11:36:29 Uhr
Goto Top
Hallo,

hier ein Beispiel Abfrage:

CREATE TABLE IF NOT EXISTS `tabelle` (
`id` int(11) NOT NULL auto_increment,
`name` text collate latin1_german1_ci NOT NULL,
`strasse` text collate latin1_german1_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=1;


Viele Grüße
Philipp
masterG
masterG 30.12.2007 um 11:38:13 Uhr
Goto Top
Hast du die Attribute auf UNSIGNED gegeben und ist ID primärschlüssel?!?

masterG
46356
46356 30.12.2007 um 12:01:47 Uhr
Goto Top
Hallo!

Hab nun die ID Spalte gelöscht und durch eine neue ausgetauscht ;)

Dort konnte ich alle Einstellungen problemlos vornehmen!

Danke nochmals für den Tip!

Lg. Alex
masterG
masterG 30.12.2007 um 12:09:51 Uhr
Goto Top
Dann Thread gelöst und geschlossen!

masterG(Moderator)