Toon posts:

PHP foutmelding : "unexpected T_STRING"

Pagina: 1
Acties:
  • 42 views sinds 30-01-2008

Verwijderd

Topicstarter
Hallo,

Ik krijg de volgende foutmelding: "Parse error: parse error, unexpected T_STRING"

Ik probeer een sql-query uit te voeren waarbij ik gebruik maak van de "between" functie. De code is als volgt:

PHP:
1
2
3
4
5
6
7
    $begin = printf(date("Ymd") . "000000");
    echo $begin . "<br>";

    $eind = printf(date("Ymd") . "110000");
    echo $eind . "<br>";
    
    $sql = "SELECT * from bestelling where datum between '{$begin}' and '{$eind}'"


Ik heb verschillende mogelijkheden geprobeerd. Maar ik krijg of de foutmelding of geen uitvoer (ik weet zeker dat er uitvoer moet zijn).

Ik zit behoorlijk vast, wie kan mij helpen?

Bvd,

Mark Bleeker

Verwijderd

Ik ken PHP niet maaruuh:

$sql = "SELECT * from bestelling where datum between '{$begin}' and '{$eind}'"
Betekent toch gewoon dat DAT de SQL string is. $begin wordt toch niet veranderd met de datum die je eerder hebt aangegeven. En als dat WEL het geval is dan heb je te maken met een standaard datum aanduiding. De Microsoft databases zijn standaard ingesteld op de amerikaanse datumconventie (mm/dd/jjjj). Voor SQL Server kan je dit instellen. Welk DBMS gebruik jij? Mogelijkerwijs moet je in plaats van de single quotes het hekje gebruiken (net als in Access). Dus between #DATUM# and #ANDEREDATUM#

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Ten eerste printf geeft geen output.
Dan moet je sprintf nemen, maar je bent sowieso nogal zinloos bezig wat dat betreft :)
$begin = date("ymd") . "000000";
Doet volgens mij wat jij wil.

En ik neem aan dat het fout gaat met de date functie? Bij www.php.net/date staat vast hoe het wel moet.

Vergeet de ; achter je query niet.

  • Eskimootje
  • Registratie: Maart 2002
  • Nu online
$sql = "SELECT * from 'bestelling' where datum between '".$begin.'" and '".$eind"'";
laatste poging hoor :P

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Verwijderd schreef op 14 oktober 2002 @ 13:29:
Ik ken PHP niet maaruuh:

$sql = "SELECT * from bestelling where datum between '{$begin}' and '{$eind}'"
Betekent toch gewoon dat DAT de SQL string is. $begin wordt toch niet veranderd met de datum die je eerder hebt aangegeven. En als dat WEL het geval is dan heb je te maken met een standaard datum aanduiding. De Microsoft databases zijn standaard ingesteld op de amerikaanse datumconventie (mm/dd/jjjj). Voor SQL Server kan je dit instellen. Welk DBMS gebruik jij? Mogelijkerwijs moet je in plaats van de single quotes het hekje gebruiken (net als in Access). Dus between #DATUM# and #ANDEREDATUM#

Jij kent inderdaad php niet :)
{$begin} is een stukje php-syntax om op die plek $begin in te vullen.
Eskimootje schreef op 14 oktober 2002 @ 13:31:
$sql = "SELECT * from bestelling where datum between ".$begin." and ".$eind;
zo moet het worden.
Lekker zinloze tip :)
Dat is net zo "foutloos" als zijn eigen string. Sterker nog, zijn variant heeft mijn voorkeur zeker omdat ie ook nog ' om zijn data plaatst.
Helaas, ook na je edit nog niet helemaal goed :) " heeft niet altijd hetzelfde effect als ', het is daarom een heel goede regel om altijd ' te gebruiken om data en iig nooit ".

  • Liqued
  • Registratie: Februari 2001
  • Laatst online: 09-01 18:51
$sql = "SELECT * from bestelling where datum between '$begin' and '$eind'";

edit typo

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 10:19

D2k

Liqued schreef op 14 oktober 2002 @ 13:34:
$sql = "SELECT * from bestelling where datum between '$begin' and '$eind';

lastig zo'n thread lezen voor je blaat :{

Doet iets met Cloud (MS/IBM)


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Liqued schreef op 14 oktober 2002 @ 13:34:
$sql = "SELECT * from bestelling where datum between $begin and $eind;

Voor de duidelijkheid:
$sql = "SELECT * from bestelling where datum between '{$begin}' and '{$eind}'";

Is goed, niks mis mee, volledig correcte en net toegepaste php-code.

  • Eskimootje
  • Registratie: Maart 2002
  • Nu online
Je bent deze: ; haakjes toch niet vergeten he?

Verwijderd

Schrijf die query eens uit zoals ie moet zijn en stuur 'm dan naar de DBMS toe. Weet je zeker of ie goed is met de output die jij wilt.

ACM,
weer wat geleerd ;-)

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Je code doet niet wat je wil, maar levert daarentegen ook niet die fout die je in de topictitel plaatst op.

Ik vermoed dat je idd een ; oid vergeten bent of dat je ergens anders een fout maakt.
Lees mijn reacties hier nog even door over de andere fout die je met printf maakt :)

En lees dan verder nog even de P&W-faq's door, oa mbt debuggen van code :)

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

[nohtml]
mbleeker:
Ik krijg de volgende foutmelding: "Parse error: parse error, unexpected T_STRING"

Ik probeer een sql-query uit te voeren waarbij ik gebruik maak van de "between" functie. De code is als volgt:

[code/]

Ik heb verschillende mogelijkheden geprobeerd. Maar ik krijg of de foutmelding of geen uitvoer (ik weet zeker dat er uitvoer moet zijn).
De code die je hier post bevat volgens mij geen fouten van dien aard. Zou je even het regelnummer (en corresponderende inhoud van dat regelnummer) even kunnen posten?

edit:
oh, ok :D dicht dus :X

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz

Pagina: 1

Dit topic is gesloten.