Rumah  >  Soal Jawab  >  teks badan

Apakah kaedah pengisihan MySQL terbaik untuk kes yang mengandungi ruang?

<p>Jadi, saya mempunyai projek yang membolehkan pengguna mengemas kini medan dan fungsi ini berfungsi dengan baik. </p> <p>Masalah berlaku apabila pengguna memasukkan ruang dalam medan <code>' '</code>. </p> <p>Sebagai contoh, katakan medan pada asalnya ialah <code>test1</code> dan pengguna menukarnya kepada <code>test 1</code>. Perubahan akan berkuat kuasa dan juga akan mencetak seperti yang dijangkakan. </p> <p>Walau bagaimanapun, jika pengguna terus menaip apa-apa daripada <code>test1</code> hingga <code> atau apa-apa lagi, perubahan ini tidak akan berlaku sama sekali. Tidak kira apa input pengguna. </p> <p>Saya merasakan ini ada kaitan dengan pengumpulan yang saya gunakan dalam pangkalan data, tidak kira pengumpulan yang saya gunakan, masalah itu berterusan dan, terus terang, saya tidak tahu banyak tentang pengumpulan. </p> <p>Kod untuk mengemas kini medan adalah sangat mudah: </p> <pre class="brush:php;toolbar:false;">`$query = $pdo -> prepare("PILIH 1 DARI jadual DI MANA medan = ?"); $query -> bindValue(1, $new_name); $query -> $num = $query -> if ($num == 0) { $query = $pdo -> sediakan("KEMASKINI jadual SET jadual = ? DI MANA jadual = ?"); $query -> bindValue(1, $new_name); $query -> bindValue(2, $old_name); $query -> }`</pre> <p>Adakah sesiapa mempunyai sebarang input tentang masalah saya, sama ada mengenai punca masalah atau cara membetulkannya? </p> <p>Terima kasih terlebih dahulu. </p>
P粉793532469P粉793532469414 hari yang lalu547

membalas semua(1)saya akan balas

  • P粉154798196

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

    • Untuk melihat lajur yang disimpan dalam col中的确切内容,请执行SELECT HEX(col) .... Ruang akan muncul sebagai 20.

    • hendaklah dibuang dalam fungsi <form>中输入的前导和尾随空格,请使用PHP的trim().

    • Bergantung pada jenis data lajur, MySQL akan mengabaikan ruang belakang. Adakah anda menggunakan CHARVARCHARTEXTBLOB atau jenis lain?

    • Jika tidak, ruang utama dan dalaman akan dipelihara oleh semua pihak yang terlibat.

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

    balas
    0
  • Batalbalas