Foutmelding in code met string??

Status
Niet open voor verdere reacties.

nl18663

Gebruiker
Lid geworden
19 dec 2007
Berichten
156
dit is de melding die ik krijg...
Parse error: syntax error, unexpected T_STRING in /var/www/verjaardag/search/weekoverzicht.php on line 43

dit is de code waar het vandaan komt:



PHP:
 38    $maand= $_POST['week'];
 39          $searchsql="SELECT id, aanhef, voorletter, naam, adres, huisnummer, postcode,
 40            woonplaats, land FROM verjaardag
 41                          WHERE MONTH(geboortedatum)= $maand"; 
 42 
 43             $put=mysql_query($searchsql) or die ("Query niet gelukt!". mysql_error());
 44 
 45       while(list($id, $aanhef,$voorletter,$naam,$adres,$huisnummer,$postcode,$woonplaats,$land)=mysql_fetch_row($put))
 46         {
 
Laatst bewerkt:
dit is de melding die ik krijg...
Parse error: syntax error, unexpected T_STRING in /var/www/verjaardag/search/weekoverzicht.php on line 43

dit is de code waar het vandaan komt:



PHP:
 38    $maand= $_POST['week'];
 39          $searchsql="SELECT id, aanhef, voorletter, naam, adres, huisnummer, postcode,
 40            woonplaats, land FROM verjaardag
 41                          WHERE MONTH(geboortedatum)= $maand"; 
 42 
 43             $put=mysql_query($searchsql) or die ("Query niet gelukt!". mysql_error());
 44 
 45       while(list($id, $aanhef,$voorletter,$naam,$adres,$huisnummer,$postcode,$woonplaats,$land)=mysql_fetch_row($put))
 46         {

Het is (mysql_error()) :p niet mysql_error(), dus je code wordt zo als het goed is:
PHP:
$put=mysql_query($searchsql) or die ("Query niet gelukt!".(mysql_error()));
 
Het is (mysql_error()) :p niet mysql_error()

Dat lijkt me niet. Ik gebruik zelf ook mysql_error() en dat werkt gewoon. Bovendien is mysql_error() gewoon een functienaam, dus zal het niet veel verschil uitmaken of je er nul, een of honderd haakjes omheen zet.

@TS, de code die je geplaatst hebt werkt bij mij zonder foutmeldingen.
 
dit is de melding die ik krijg...
Parse error: syntax error, unexpected T_STRING in /var/www/verjaardag/search/weekoverzicht.php on line 43

dit is de code waar het vandaan komt:



PHP:
 38    $maand= $_POST['week'];
 39          $searchsql="SELECT id, aanhef, voorletter, naam, adres, huisnummer, postcode,
 40            woonplaats, land FROM verjaardag
 41                          WHERE MONTH(geboortedatum)= $maand"; 
 42 
 43             $put=mysql_query($searchsql) or die ("Query niet gelukt!". mysql_error());
 44 
 45       while(list($id, $aanhef,$voorletter,$naam,$adres,$huisnummer,$postcode,$woonplaats,$land)=mysql_fetch_row($put))
 46         {

ik zie het al, je bent een ; vergeten achter $put=mysql_query($searchsql) dit moet zijn $put=mysql_query($searchsql);

dus de complete regel is:
$put=mysql_query($searchsql); or die ("Query niet gelukt!". mysql_error());


succes dr mee !!
 
dus de complete regel is:
$put=mysql_query($searchsql); or die ("Query niet gelukt!". mysql_error());

Pertinent fout!

Wat er nu gebeurd is dat er een nieuwe foutmelding komt, de regel hoort gewoon
PHP:
$put=mysql_query($searchsql) or die ("Query niet gelukt!". mysql_error());
te zijn. Immers wanneer de functie mysql_query() niet kan worden uitgevoerd of een foutmelding resulteerd dan moet hij de die()-functie uitvoeren.

Na het eten kom ik terug op de echte foutmelding.
 
mijn excuses !

dit klopt idd, maar meestal zet ik dit op aparte regels en gebruik dit niet zo vaak,

nogmaals mijn excuses ! :o

SMC - FM;)
 
Ben ik trouwens de enige die dit onlogisch vindt?

PHP:
 $maand= $_POST['week'];
 
Nee, maar naamgeving staat wel vaker ter discussie in deze sectie ;)

Het vreemde aan deze thread is dat ik de fout niet kan vinden in de gegeven code.
 
Ik heb net ook bijna een kwartier naar de code zitten staren...zonder resultaat...
 
PHP:
 39          $searchsql="SELECT id, aanhef, voorletter, naam, adres, huisnummer, postcode,
 40            woonplaats, land FROM verjaardag
 41                          WHERE MONTH(geboortedatum)= $maand";

Staat dat wel daadwerkelijk op 3 verschillende regels? Kan het niet zijn dat de parser dat als 1 regel ziet en dat de daadwerkelijke fout daardoor een stukje lager zit?

Ik weet het ook niet zeker, want ik heb absoluut geen verstand van de code die de PHP parst zeg maar, maar ik probeer ook maar een optie te opperen.
 
Laatst bewerkt:
PHP gaat net zo lang door tot hij een ; tegenkomt.

Het maakt dus niet uit over hoeveel regels je een string verspreid.
 
Ja, oké...

Maar ik dacht dat PHP het misschien als één regel zag omdat er dus geen ; op regel 41 en 42 staat. Maar dat is het dan waarschijnlijk ook niet...

Misschien dat de TS nog wat meer informatie voor ons heeft?
 
Is $maand wel een integer en geen string?

Ik heb nog niet erg veel verstand van de date-functies in mysql, maar ik las net dat daar op de plek van $maand in ieder geval een integer verwacht wordt.

Misschien dat SvU er eens naar kan kijken, die schijnt nogal heel veel verstand te hebben van de date-/timefuncties in mysql.

Dit is toch wel frustrerend...:shocked:
 
dit is de melding die ik krijg...
Parse error: syntax error, unexpected T_STRING in /var/www/verjaardag/search/weekoverzicht.php on line 43

dit is de code waar het vandaan komt:



PHP:
 38    $maand= $_POST['week'];
 39          $searchsql="SELECT id, aanhef, voorletter, naam, adres, huisnummer, postcode,
 40            woonplaats, land FROM verjaardag
 41                          WHERE MONTH(geboortedatum)= $maand"; 
 42 
 43             $put=mysql_query($searchsql) or die ("Query niet gelukt!". mysql_error());
 44 
 45       while(list($id, $aanhef,$voorletter,$naam,$adres,$huisnummer,$postcode,$woonplaats,$land)=mysql_fetch_row($put))
 46         {
Ben eigenlijk nog steeds een beginnende php-er maar ik denk dat je
PHP:
WHERE MONTH(geboortedatum)=
ook quotes moet gebruiken omdat
PHP:
$_POST['week'];
een string is/wordt. (Ik zou trouwens doen
PHP:
htmlentities($_POST['week']);
dit voorkomt een XSS beveiligingslek.)

Dan wordt de code dus zo:

PHP:
 38    $maand= htmlentities($_POST['week']);
 39          $searchsql="SELECT id, aanhef, voorletter, naam, adres, huisnummer, postcode,
 40            woonplaats, land FROM verjaardag
 41                          WHERE MONTH(geboortedatum)='".$maand."'"; 
 42 
 43             $put=mysql_query($searchsql) or die ("Query niet gelukt!". mysql_error());
 44 
 45       while(list($id, $aanhef,$voorletter,$naam,$adres,$huisnummer,$postcode,$woonplaats,$land)=mysql_fetch_row($put))
 46         {
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan