PHP Parse error: syntax error, unexpected T_IF
J'ai regardé beaucoup d'autres questions, mais je ne peux pas trouver ma réponse en elle.
voici mon erreur de syntaxe (unexpeted T_IF):
while(($rij1 = mysql_fetch_object($result1))
and( if ($voornaam=NULL) {
$rij2 = ' ';}
elseif($voornaam!=NULL){
$rij2 = mysql_fetch_object($result2);})
J'ai regardé la ligne avant de la syntaxe, mais je ne pouvais pas trouver ce qui est faux...
Quelqu'un sait-il?
- C'est quoi l'
and
etif
là?and
s'attend à ce que les expressions de ses opérandes, non pas des déclarations. Qu'essayez-vous de faire? - s'il vous Plaît, n'utilisez pas
mysql_*
fonctions dans le nouveau code. Il n'est plus maintenu et la la dépréciation du processus a commencé sur elle. Voir le boîte rouge? En savoir sur le les instructions préparées au lieu de cela, et d'utiliser les PDO ou MySQLi - cet article vous aider à décider lequel. Si vous choisissez AOP, voici un bon tutoriel.
Vous devez vous connecter pour publier un commentaire.
Essayez de réécrire votre code comme:
Edit: Corrigé votre condition dans le premier
if
, comme @andrewsi tacheté=
est un opérateur d'affectation, de sorte que déjà votre code était en train de changer$voornaam
àNULL
, puis de vérifier si le résultat évalué àtrue
(qui, bien sûr, il ne se serait jamais - de sorte que le deuxième bloc serait toujours exécuter)Dans votre code, vous êtes à l'aide de la
and
opérateur, probablement après l'avoir vu utilisé dans certains bien intentionnés, mais mal codé exemples commemysql_connect(...) or die('an error occurred');
.Ce qui se passe dans cet exemple est que le résultat de la première instruction -
mysql_connect()
- est cochée. Si elle est true, la deuxième déclaration ne s'exécute jamais, mais si on les évalue à false, alors le deuxième déclaration -die('an error occurred');
- est exécutée. Comme vous venez de découvrir, ce modèle est déroutant et il vaut mieux l'éviter.if ($voornaam==NULL) {
(
dans lewhile
déclaration, ce qui a causé cette erreur - j'ai supprimé dans mon dernier edit.===
trois. Si vous garder un peu d'espace là-dedans, c'est plus clair. Juste pour le code ici, vous n'avez pas besoin d'écrire le code de cette manière à la maison.