OVH Cloud OVH Cloud

modification MYSQL colonne type ENUM

1 réponse
Avatar
Yves
j'ai une colonne de type enum ('true', 'false') dans une base (MySQL
4.1.13) third-party et j'aimerais modifier la valeur depuis un script
php.
lorsque je fais la modification directement en sql, pas de problème :

UPGRADE participants SET invoiced='true' WHERE personID= 'reg_number'

mais si j'essaye en php

$result_sql = mysql_query("UPDATE participants SET invoiced='true'
WHERE personID='$reg_number' ");
la colonne invoiced n'est pas mise à jour

comment dois préciser la valeur.... (j'ai essayé avec une variable
$true="true" également...)

joss

1 réponse

Avatar
Antoun
wrote:
j'ai une colonne de type enum ('true', 'false') dans une base (MySQL
4.1.13) third-party et j'aimerais modifier la valeur depuis un script php.
lorsque je fais la modification directement en sql, pas de problème :

UPGRADE participants SET invoiced='true' WHERE personID= 'reg_number'
(...)


Tu précises la valeur correctement (une autre façon de faire serait SET
invoiced = 1, puisque dans ton cas 'true' est la première valeur du
ENUM) et je ne pense pas que ton problème soit lié au type ENUM...

A mon avis, soit tu as une erreur MySQL que tu devrais voir en utilisant
mysql_error(), soit ton $reg_number n'existe pas parmi tes participants,
et du coup aucun n'est mis à jour. A vérifier avec un echo $reg_number.

Au passage, si c'est vraiment un nombre les apostrophes sont inutiles,
voire illogiques :

"UPDATE participants
SET invoiced='true'
WHERE personID = $reg_number "