最佳的MySQL排序方法,适用于包含空格的情况是什么?
P粉793532469
P粉793532469 2023-09-02 10:38:35
[MySQL讨论组]

所以,我有一个项目,用户可以更新一个字段,这个功能正常工作。

问题出现在用户在字段中输入一个空格 ' '

例如,假设字段原来是 test1,用户将其更改为 test 1。这个更改会生效,并且也会按预期打印出来。

然而,如果用户继续输入任何内容,从 test1 test1 或其他任何内容,这个更改根本不会发生。无论用户输入什么。

我感觉这与我在数据库中使用的排序规则有关,无论我使用哪种排序规则,问题仍然存在,而且,坦率地说,我对排序规则并不了解。

更新字段的代码非常简单:

`$query = $pdo -> prepare("SELECT 1 FROM table WHERE field = ?");
    $query -> bindValue(1, $new_name);

    $query -> execute();
    $num = $query -> rowCount();

    if ($num == 0) {

        $query = $pdo -> prepare("UPDATE table SET table = ? WHERE table = ?");
        $query -> bindValue(1, $new_name);
        $query -> bindValue(2, $old_name);

        $query -> execute();
    }`

有人对我的问题有任何意见吗,无论是关于问题的原因还是如何解决问题?

提前谢谢。

P粉793532469
P粉793532469

全部回复(1)
P粉154798196
  • 要查看存储在列col中的确切内容,请执行SELECT HEX(col) ...。空格将显示为20。

  • 要去除在<form>中输入的前导和尾随空格,请使用PHP的trim()函数。

  • 根据列的数据类型,MySQL将忽略尾随空格。您使用的是CHARVARCHARTEXTBLOB还是其他类型?

  • 否则,所有相关方都将保留前导和内部空格。

    mysql> SELECT HEX("test 1");
      +---------------+
      | HEX("test 1") |
      +---------------+
      | 746573742031  |
      +---------------+
        t e s t   1
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号