Page 1 sur 1

Problème de syntaxe ?

Posté : 14 juil. 2021, 22:34
par stevefigueras
Bonjour à tous

J'ai mon code ici qui fonctionne parfaitement quand je passe l'argument WHERE en dur soit

Code : Tout sélectionner

$ModifierDisque="UPDATE $id_patient SET artiste='$presc' WHERE id_acte = 1626222740";
Mais qui ne fonctionne pas quand je tente d'insérer une variable

Code : Tout sélectionner

[code]$ModifierDisque="UPDATE $id_patient SET artiste='$presc' WHERE id_acte = $disque";
[/code]

Pourtant l'écho $disque renvoit bien la meme chose

Le champs dans la base est un bigint
J'ai tenté les " les ' ' mais rien n'y fait

Merci de votre aide

Re: Problème de syntaxe ?

Posté : 15 juil. 2021, 08:36
par Shadowwera
Salut !

Tes variables doivent être passé entre guillemet. D'ailleurs tu la fait pour ta variable $presc mais pas pour $disque ni pour $id_patient
$ModifierDisque="UPDATE '$id_patient' SET artiste='$presc' WHERE id_acte = '$disque'"
EDIT : Tu peux d'ailleurs passer également par la concaténation de PHP, bien qu'un plus brouillon
$ModifierDisque="UPDATE $id_patient SET artiste='$presc' WHERE id_acte = $disque";
$ModifierDisque = "UPDATE ";
$ModifierDisque .= $id_patient;
$ModifierDisque .= " SET artiste='";
$ModifierDisque .= $presc;
$ModifierDisque .= "' WHERE id_acte = '";
$ModifierDisque .= $disque;
$ModifierDisque .= "'";

Re: Problème de syntaxe ?

Posté : 15 juil. 2021, 12:41
par or 1
Tes variables doivent être passé entre guillemet.
non, les chaines doivent être entre guillemet, rien d'obligatoire pour les nombres.

faire un var_dump de $disque
afficher la requête entière et l’exécuter dans phpmyadmin pour voir ce que cela dit.

Re: Problème de syntaxe ?

Posté : 16 juil. 2021, 20:03
par stevefigueras
Salut et merci pour les réponses :)
Bizarement sans que je me l'explique le fait de faire un

Code : Tout sélectionner

$nouvelle_var = $varquiposeprobleme;
me règle mon souci, par contre je ne me l'explique pas. Mais ca marche.