最佳的MySQL排序方法,適用於包含空格的情況是什麼?
P粉793532469
P粉793532469 2023-09-02 10:38:35
0
1
587
<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粉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
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板