J'ai donc un projet dans lequel l'utilisateur peut mettre à jour un champ et cette fonctionnalité fonctionne bien.
Le problème se produit lorsque l'utilisateur saisit un espace dans le champ '.
Par exemple, supposons que le champ était à l'origine test1
et que l'utilisateur le modifie en test 1
. La modification prendra effet et s'imprimera également comme prévu.
Cependant, si l'utilisateur continue de saisir quelque chose entre test1
et test1
Peu importe ce que l’utilisateur saisit.
J'ai le sentiment que cela a à voir avec le classement que j'utilise dans la base de données, quel que soit le classement que j'utilise, le problème persiste et, franchement, je ne connais pas grand-chose aux classements.
Le code pour mettre à jour le champ est très simple :
`$query = $pdo -> prepare("SELECT 1 FROM table WHERE field = ?"); $query -> bindValue(1, $nouveau_nom); $requête -> exécuter(); $num = $query -> si ($num == 0) { $query = $pdo -> préparer("UPDATE table SET table = ? WHERE table = ?"); $query -> bindValue(1, $nouveau_nom); $query -> bindValue(2, $ancien_nom); $requête -> exécuter(); }`Quelqu'un a-t-il quelque chose à dire sur mon problème, soit sur la cause du problème, soit sur la manière de le résoudre ?
Merci d'avance.
Pour afficher les colonnes stockées dans
col
中的确切内容,请执行SELECT HEX(col) ...
. Les espaces apparaîtront comme 20.doit être supprimé dans la fonction
中输入的前导和尾随空格,请使用PHP的
trim()
.En fonction du type de données de la colonne, MySQL ignorera les espaces de fin. Utilisez-vous
CHAR
、VARCHAR
、TEXT
、BLOB
ou un autre type ?Dans le cas contraire, les espaces principaux et internes seront préservés par toutes les parties impliquées.