Maison  >  Questions et réponses  >  le corps du texte

Quelle est la meilleure méthode de tri MySQL pour les cas contenant des espaces ?

<p>J'ai donc un projet dans lequel l'utilisateur peut mettre à jour un champ et cette fonctionnalité fonctionne bien. </p> <p>Le problème se produit lorsque l'utilisateur saisit un espace dans le champ <code>'. </p> <p>Par exemple, supposons que le champ était à l'origine <code>test1</code> et que l'utilisateur le modifie en <code>test 1</code>. La modification prendra effet et s'imprimera également comme prévu. </p> <p>Cependant, si l'utilisateur continue de saisir quelque chose entre <code>test1</code> et <code> test1</code> Peu importe ce que l’utilisateur saisit. </p> <p>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. </p> <p>Le code pour mettre à jour le champ est très simple : </p> <pre class="brush:php;toolbar:false;">`$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(); }`</pré> <p>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 ? </p> <p>Merci d'avance. </p>
P粉793532469P粉793532469414 Il y a quelques jours545

répondre à tous(1)je répondrai

  • P粉154798196

    P粉1547981962023-09-03 09:22:38

    • Pour afficher les colonnes stockées dans col中的确切内容,请执行SELECT HEX(col) .... Les espaces apparaîtront comme 20.

    • doit être supprimé dans la fonction <form>中输入的前导和尾随空格,请使用PHP的trim().

    • En fonction du type de données de la colonne, MySQL ignorera les espaces de fin. Utilisez-vous CHARVARCHARTEXTBLOB ou un autre type ?

    • Dans le cas contraire, les espaces principaux et internes seront préservés par toutes les parties impliquées.

      mysql> SELECT HEX("test 1");
        +---------------+
        | HEX("test 1") |
        +---------------+
        | 746573742031  |
        +---------------+
          t e s t   1

    répondre
    0
  • Annulerrépondre