Forum » Server-Side scripting » Gebruikersnaam komt niet in database
Berichten: 409
avatar
Online Stuur privebericht
Beste cp,

Ik heb een bel script van ringtonio gemaakt, hierin slaat hij 1 belletje op in de database.

Echter slaat hij de naam van de speler niet op, ik krijg de volgende error:

Code | Selecteer Alles
minimaliseren
1
You have an error in your SQL syntaxcheck the manual that corresponds to your MySQL server version for the right syntax to use near 'INTO bestelling (gebruikersnaam, orderid) VALUES ('Resource id #11', 'TVO836')' at line 1


Het gaat hier om het stukje:
Code | Selecteer Alles
minimaliseren
1
Resource id #11


Het stukje code:

Code | Selecteer Alles
minimaliseren
1
2
3
4
5
6
$unieke_code chr(rand(65,90)).chr(rand(65,90)).chr(rand(65,90)).rand(0,9).rand(0,9).rand(0,9);
    
$id mysql_query("SELECT id FROM `gebruikers` 
                                WHERE gebruikersnaam = "
.$_SESSION['gebruikersnaam']);
    
    
mysql_query("UPDATE INTO bestelling (gebruikersnaam, orderid) VALUES ('".$id."', '".$unieke_code."')") or die(mysql_error());


Weet iemand wat er mis is?

edit:
Code | Selecteer Alles
minimaliseren
1
Duplicate entry '' for key 'PRIMARY'

Quote: BrokenTrack

Betekent dat je een "dupicate", een dubbele, record in de database wilt doen. Wat betekent, er is al een record dat precies hetzelfde is voor een bepaalde column. Dat moet je even uitzetten of je moet iets uniek gaan maken.



Maar dat snap ik niet, ik heb niet 2x de zelfde record in de database.

EDIT:

Ik zag net dat er een primary sleutel was opgegeven (weet niet hoe dat komt)

die heb ik nu verwijderd en nu is de error weg, MAAR bij de id staat nu 0, terwijl mijn id 1 is.

hij zet dus nogsteeds mijn id er niet in.
Laatst gewijzigd door sukel op 2011-07-24 20:04:02
24-07-2011 18:31
Dit topic is 164 keer bekeken door 31 verschillende leden
Reacties op: "Gebruikersnaam komt niet in database"
1
Informatica Student
Berichten: 1406
avatar
Online Stuur privébericht
Quote

UPDATE INTO


Ik zou maar gauw een streepje weghalen bij SQL op je profiel.

Moet natuurlijk INSERT INTO worden.
24-07-2011 18:41
Berichten: 409
avatar
Online Stuur privébericht
Quote: BrokenTrack

Quote

UPDATE INTO


Ik zou maar gauw een streepje weghalen bij SQL op je profiel.

Moet natuurlijk INSERT INTO worden.



Wow, krijg nou wat.

Ik heb zitten slapen denk ik. Maar er is nog steeds een error:

Code | Selecteer Alles
minimaliseren
1
Duplicate entry '' for key 'PRIMARY'
24-07-2011 18:45
Informatica Student
Berichten: 1406
avatar
Online Stuur privébericht
Betekent dat je een "dupicate", een dubbele, record in de database wilt doen. Wat betekent, er is al een record dat precies hetzelfde is voor een bepaalde column. Dat moet je even uitzetten of je moet iets uniek gaan maken.
24-07-2011 18:47
Berichten: 409
avatar
Online Stuur privébericht
Quote: BrokenTrack

Betekent dat je een "dupicate", een dubbele, record in de database wilt doen. Wat betekent, er is al een record dat precies hetzelfde is voor een bepaalde column. Dat moet je even uitzetten of je moet iets uniek gaan maken.



Maar dat snap ik niet, ik heb niet 2x de zelfde record in de database.

EDIT:

Ik zag net dat er een primary sleutel was opgegeven (weet niet hoe dat komt)

die heb ik nu verwijderd en nu is de error weg, MAAR bij gebruikersnaam staat nog steeds helemaal niks. Hij pakt de gebruikersnaam maar niet uit de database.
24-07-2011 18:51
Vreemd
Berichten: 1246
avatar
Offline Stuur privébericht
Code | Selecteer Alles
minimaliseren
1
2
$id = (int) mysql_result(mysql_query("SELECT id FROM gebruikers 
                                WHERE gebruikersnaam = '"
.mysql_real_escape_string($_SESSION['gebruikersnaam'])."'"), 0);


http://nl.php.net/manual/en/language.types.resource.php
24-07-2011 20:31
Berichten: 409
avatar
Online Stuur privébericht
bedankt! Hij werkt!
24-07-2011 20:34
Reageer op: "Gebruikersnaam komt niet in database"
1
Je kan niet reageren omdat je niet bent ingelogd. Inloggen of Aanmelden