Na 127x niets meer in database zetten

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Stefan

Stefan

13/07/2006 09:13:00
Quote Anchor link
Hallo,

Ik heb nu een zelfgemaakte fotoboek script in werking kunnen zetten. Het werkt als volgt:

- [ Overzicht fotoboeken ]
-> Zoek alle mappen met glob();
-> Bekijk of deze al in de database staan
-- Nee? In database zetten *
-- Ja! Niks doen...
-> Select-query en echo'en d.m.v. While-loop

- [ Overzicht van een fotoboek ]
-> Zoek alle foto's in een map met glob();
-> Bekijk of deze al in de database staan
-- Nee? In database zetten *
-- Ja! Niks doen...
-> Select-query en echo'en d.m.v. While-loop
-> Stats echoen.

Tot zover hoe het werkt

Bij de *-tjes zie je dat er dingen in de database moeten worden gezet. Over het algemeen is zo'n query als volgd:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
$insert
= "INSERT INTO foto_album_foto (id, bestand, album) VALUES ('" . $laatste . "', '" . $b . "', '" . $_GET[foto] . "')";
                $res = mysql_query($insert);
                    if($res){
                        echo '<!-- Bestand: ' . $b . ' -> Foto staat niét in database > Foto in database gezet. -->';
                        $inserts++;
                    }
else{
                        echo '<!-- Bestand: ' . $b . ' -> Foto staat niét in database > Foto kon niet in de database gezet worden. -->';
                    }

?>

Het rare is dus dat mijn query gewoon helemaal klopt, maar dat hij na 127x inserten (of het nou per minuut 1 is, of per dag 1 insert, het maakt niet uit), dat hij niet meer iets in de database kan zetten.

Als ik een insert-query in PHPmyAdmin zet, krijg ik deze fout:

Quote:
Insert query: INSERT INTO foto_album_foto (id, bestand, album) VALUES ('128', 'aaa/abc.jpg', '123')

Fout die ik terug krijg:

Fout

SQL-query:

INSERT INTO foto_album_foto( id, bestand, album )
VALUES (
'128', 'aaa/abc.jpg', '123'
)

MySQL retourneerde: Documentatie
#1062 - Duplicate entry '127' for key 1


Ten eerste, mijn ID nummer geef ik 128 op (key 1 = ID), en toch krijg ik de melding dat ik er al met ID 127 heb. Auto increment staat niét aan bij het veld ID.

Iemand enig idee? Laatst is mijn hoster overgegaan naar de nieuwe versie van PHPmyAdmin (volgens mij, want het zag er stukken anders en uitgebreider uit..)

Alvast bedankt voor jullie hulp!
 
PHP hulp

PHP hulp

17/11/2024 11:35:23
 
Klaasjan Boven

Klaasjan Boven

13/07/2006 09:18:00
Quote Anchor link
wat voor veld heeft je ID?
INT of iets anders.
 
- wes  -

- wes -

13/07/2006 09:23:00
Quote Anchor link
tinyint :) durf ik boel geld op te zetten ;)
maak daar maar es int van
 
Stefan

Stefan

13/07/2006 09:29:00
Quote Anchor link
Uh Tinyint jah.. ligt het daar aan ?
 
Stefan

Stefan

13/07/2006 09:30:00
Quote Anchor link
Hij werkt nu ;) Thanx :)

(probleem lag inderdaad bij tinyint > int)
 
- wes  -

- wes -

13/07/2006 09:44:00
Quote Anchor link
komt namelijk tinyint gaat tot 127. als je binear kan komt dat getal je enigzins bekend voor en weet je ook waarom er bij tinyint(4) staat. :)

There are only 10 types of people in the world. Those who understand binary and those who dont.
 
Roy Bongers

Roy Bongers

13/07/2006 10:03:00
Quote Anchor link
btw als je zorgt dat je autoincresement aan hebt staan op dan hoef je dat ID niet mee te nemen in je query. Veel makkelijker ;) .

$insert = "INSERT INTO foto_album_foto (bestand, album) VALUES ('" . $b . "', '" . $_GET[foto] . "')";

Oh en probeer logische variabele namen te gebruiken. $b kun je bijv. beter $bestand van maken. En foto moet eigenlijk tussen single quotes. $_GET['foto'] dus.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.