#26 Le 20/06/2022, à 15:09
- Vobul
Re : [Résolu] erreur de syntaxe php/SQL depuis màj php7=> php8
Si tu castes en int ta variable qui est null, ça fait 0, donc ton sql devient valide, mais ton code ne l'est toujours pas. Il faut surtout que tu vérifies que ton array n'est pas null. Au fait, le
.""
en fin de ligne n'est pas nécessaire.
Vobul
Utilisez le retour utilisable de commandes !!!
J'aime la langue française, mais je parle franglais, deal with it.
RTFM
Hors ligne
#27 Le 20/06/2022, à 15:53
- ubun'ti
Re : [Résolu] erreur de syntaxe php/SQL depuis màj php7=> php8
Merci Vobul pour tes précisions...
j'vais corriger le
.""
qui sert à rien, en fait même avec mon niveau je comprend l'inutilité d'ajouter rien à la fin de ma déclaration
Si le array est nul c'est que mon code ne fonctionne pas car cet array est construit
$tabideq = explode(",", $playlist);
/*on supprime la première ligne du tableau car vide********/
unset($tabideq[0]);
Hors ligne
#28 Le 21/06/2022, à 14:42
- ubun'ti
Re : [Résolu] erreur de syntaxe php/SQL depuis màj php7=> php8
Si tu castes en int ta variable qui est null, ça fait 0, donc ton sql devient valide, mais ton code ne l'est toujours pas. Il faut surtout que tu vérifies que ton array n'est pas null.
Encore une fois j'étais en dessous de tes infos
Mais ayé je crois que j'ai compris !
La fausse solution de mettre (int) devant ma variable de tableau faisait qu'elle prenait la valeur 0 dans le cas où elle était nulle.
Du coups la requête sql s’exécutait sans erreur mais sans résultats ni intérêt
Dans mon cas le problème se traduisait par l'absence d'une ligne de réponse que j'avais pas encore détectée puisque pas génératrice d'erreur formelle...
Du coups le problème chez moi était qu'un même tableau commençait par un enregistrement [1] ou par un enregistrement [0] suivant le traitement des options.
Du coups le sql prenait une forme "....where id = "null" ce qui causait l'erreur.
Dans mon cas j'ai donc ré-indexer le tableau qui pausait problème en partant de 0 :
$tabideq=array_values($tabideq);
si j'ai bien compris, php7 pouvait considérer nulle comme 0 et plus le php8.
Et j'vais dire tant mieux parce que même si c'est pas dramatique (enfin si en fait ) dans mon cas je manquais l'un des enregistrements de ma base de clips dans mes playlists : CATASTROPHE !!! (très bon groupe d'ailleurs https://youtu.be/id9ljxGWBdQ
Encore merci,
Même si tu devais désespérer que je comprenne un jour ce que tu dis 'vobul'
Hors ligne
#29 Le 21/06/2022, à 17:15
- Vobul
Re : [Résolu] erreur de syntaxe php/SQL depuis màj php7=> php8
J'aime bien ce site pour voir les changements : https://stitcher.io/blog/new-in-php-8
(et de 7 à 8 y'en a un bon paquet)
Content que tu aies compris ma pensée
Pense aussi à utiliser le null-coalescing operator :
$myvar ?? 0;
$myvar ?? throw new RuntimeException('myvar est null !!);
Très pratique. Et surtout mets bien declare(strict_types=1); au début de chaque fichier ! Et utilise phpstan ! Bref, je m'arrête là c'est pas un cours de php ici non plus
Vobul
Utilisez le retour utilisable de commandes !!!
J'aime la langue française, mais je parle franglais, deal with it.
RTFM
Hors ligne