[PHP/Mysql] 2x dezelfde query? *

Pagina: 1
Acties:

Onderwerpen


  • bluesbrother
  • Registratie: Februari 2002
  • Laatst online: 26-01 14:21

bluesbrother

Blues Rocks!!!

Topicstarter
Ik snap er geen **** meer van. Hoewel ik nieuw ben in het programmeren snap ik niet dat deze twee query's die in mijn ogen dezelfde zijn, er een werkt en de ander niet.

Deze werkt niet:
$query = "INSERT INTO 'nieuwsbrief' (`mailadres`, `datum` ) VALUES (`$mailadres`, `$adate`)";

Geeft de melding:

Verbinding tot stand gebracht1064: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ''nieuwsbrief' (`mailadres`, `datum` ) VALUES (`ergens@iemand.com`,

Deze is goed en doet wat ie moet doen.
$query = "INSERT INTO `nieuwsbrief` ( `mailadres` , `datum` ) VALUES ( '$mailadres', '$adate')";

Als jullie het zien knap. ik heb er een half uur naar gestaart.

De values zijn goed. De rest ook. Het gaat echt om het verschil in deze 2 query's.
Degene die werkt komt uit phpMyAdmin. Maar ik zie dus de verschillen niet.
Alleen de quotes zijn verschillend, en ik heb ook daar al mee geexperimenteerd.

Windows XP, Mysql 4.0.18, Apache 2.0

greetz
Bluesborther 8)

[ Voor 5% gewijzigd door bluesbrother op 02-09-2004 16:56 ]

Wil je je pizza in 4 of 8 stukken? .......Doe maar in 4, 8 krijg ik niet op.


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-09 08:50

gorgi_19

Kruimeltjes zijn weer op :9

' != `

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Tim Schuhmacher
  • Registratie: Januari 2000
  • Laatst online: 20-09 18:03

Tim Schuhmacher

abasios

' `

2 verschillende quotes

[ Voor 13% gewijzigd door Tim Schuhmacher op 02-09-2004 16:58 ]


  • Tarzan
  • Registratie: November 2003
  • Laatst online: 11:16
bluesbrother schreef op 02 september 2004 @ 16:56:
Alleen de quotes zijn verschillend, en ik heb ook daar al mee geexperimenteerd.
Mischien is het slim te vertellen wat je geprobeerd hebt :)

..:: ::..


  • bluesbrother
  • Registratie: Februari 2002
  • Laatst online: 26-01 14:21

bluesbrother

Blues Rocks!!!

Topicstarter
Ik heb de quotes uit de goede geknipt en geplakt naar de foute.
En nog steeds niet.
Iets met ascii ofzo?

Wil je je pizza in 4 of 8 stukken? .......Doe maar in 4, 8 krijg ik niet op.


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-09 08:50

gorgi_19

Kruimeltjes zijn weer op :9

bluesbrother schreef op 02 september 2004 @ 17:03:
Ik heb de quotes uit de goede geknipt en geplakt naar de foute.
En nog steeds niet.
Iets met ascii ofzo?
PHP:
1
$query = "INSERT INTO 'nieuwsbrief' (`mailadres`, `datum` ) VALUES (`$mailadres`, `$adate`)";

PHP:
1
$query = "INSERT INTO `nieuwsbrief` ( `mailadres` , `datum` ) VALUES ( '$mailadres', '$adate')";

Je ziet zelf toch ook de verschillen? [ is toch ook niet gelijk aan ( ?

Wat heb je nu dan als statements? En je moet niet ALTIJD ` of ALTIJD ' gebruiken, afhankelijk van de plaats.

Anyway; het verschil ligt hem in het aangeven van een string of het escapen van bijvoorbeeld een kolomnaam. Bij de een gebruik je een ', de ander een `

[ Voor 21% gewijzigd door gorgi_19 op 02-09-2004 17:06 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • bluesbrother
  • Registratie: Februari 2002
  • Laatst online: 26-01 14:21

bluesbrother

Blues Rocks!!!

Topicstarter
Ja die quotes, maar ik heb ze veranderd en nog steeds nada.
'$mailadres', '$adate' is anders dan
`$mailadres`, `$adate`
Ik heb tijdens dit schrijven het nog eens geprobeerd.
In een nieuw leeg "vel" en tadaa hij doet het.
raar. Maar dat er zo'n verschillen zitten in die quotes.
Ik weet dat er een verschil zit tussen ' en ".
Maar dit was nieuw voor me.
Thanx
Bluesbrother 8)

Wil je je pizza in 4 of 8 stukken? .......Doe maar in 4, 8 krijg ik niet op.


Verwijderd

Je moet ` gebruiken bij namen van tabellen en kolommen, en ' bij waarden. Maar die ` laat ik zelf meestal weg.
PHP:
1
2
3
<?
$query = 'INSERT INTO nieuwsbrief (mailadres, datum) VALUES ( ' . $mailadres . ', ' . $adate . ')';
?> 


Zo doe ik het, zou moeten werken.

[ Voor 24% gewijzigd door Verwijderd op 02-09-2004 22:19 . Reden: Hij pakt mijn apostrophe niet!!! ]


  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 28-02 22:17
Laat die backticks idd maar gewoon weg. Verder toch niet echt zinnig. ;)

(moet je wel geen tabelnamen met spaties erin gaan doen natuurlijk.)

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info


Acties:
  • 0 Henk 'm!

  • Sosabowski
  • Registratie: Juni 2003
  • Laatst online: 18-09 21:03

Sosabowski

nerd

of:
PHP:
1
2
3
$query = sprintf ("INSERT INTO nieuwsbrief (mailadres, datum) VALUES (%s, %s)",
                           '$mailadres',
                           '$adate')';

The whole problem with the world is that fools and fanatics are always so certain of themselves, and wiser people so full of doubts. -- Bertrand Russell


Acties:
  • 0 Henk 'm!

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
IorGie schreef op 03 september 2004 @ 02:11:
of:
PHP:
1
2
3
$query = sprintf ("INSERT INTO nieuwsbrief (mailadres, datum) VALUES (%s, %s)",
                           '$mailadres',
                           '$adate')';
Elke parameter van sprintf behalve de eerste moet een parameter zijn welke op een bepaalde manier in de string geformatteerd zal worden. Echter, jij geeft nu twee constanten mee (de string $mailadres en de string $adate). De single quotes moeten dus weg bij de variabelen. Dubbele quotes zouden wel werken maar daar is het nut nogal beperkt van.

Verder moet je query wel goed zijn. Je vergeet je stringvalues in de query te quoten.

Samenvattend:
PHP:
1
$l_insertQuery = sprintf( "INSERT INTO nieuwsbrief (mailadres, datum) VALUES ('%s', '%s')", $mailadres, $adate );

Een vraag aan de topicstarter: Zijn deze twee waardes de enige in je kolom? Aangezien je imho misschien beter nog een id veld kan toevoegen voor identificatie.

[ Voor 5% gewijzigd door Glimi op 03-09-2004 08:24 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Z'n ID is misschien een auto_increment?
Pagina: 1