搜尋

首頁  >  問答  >  主體

最佳的MySQL排序方法,適用於包含空格的情況是什麼?

<p>所以,我有一個項目,使用者可以更新一個字段,這個功能正常運作。 </p> <p>問題出現在使用者在欄位中輸入空格 <code>' '</code>。 </p> <p>例如,假設字段原來是 <code>test1</code>,用戶將其更改為 <code>test 1</code>。這個變更會生效,並且也會如預期般列印出來。 </p> <p>然而,如果使用者繼續輸入任何內容,從 <code>test1</code> 到 <code> test1</code> 或其他任何內容,這個變更根本不會發生。無論用戶輸入什麼。 </p> <p>我覺得這與我在資料庫中使用的排序規則有關,無論我使用哪種排序規則,問題仍然存在,而且,坦白說,我對排序規則並不了解。 </p> <p>更新欄位的程式碼非常簡單:</p> <pre class="brush:php;toolbar:false;">`$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(); }`</pre> <p>有人對我的問題有任何意見嗎,無論是關於問題的原因還是如何解決問題? </p> <p>提前謝謝。 </p>
P粉793532469P粉793532469455 天前579

全部回覆(1)我來回復

  • P粉154798196

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

    • 要查看儲存在列col中的確切內容,請執行SELECT HEX(col) ...。空格將顯示為20。

    • 要移除在<form>中輸入的前導和尾隨空格,請使用PHP的trim()函數。

    • 根據列的資料類型,MySQL將忽略尾隨空格。您使用的是CHARVARCHARTEXTBLOB還是其他類型?

    • 否則,所有相關方都會保留前導和內部空格。

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

    回覆
    0
  • 取消回覆