Mencegah Nama Pengguna Pendua Semasa Pendaftaran
Apabila melaksanakan sistem daftar, menghalang nama pengguna pendua memastikan integriti pangkalan data dan kemudahan pengguna. Untuk mencapai matlamat ini, pangkalan data mesti menolak percubaan nama pengguna pendua.
Penyelesaian: Indeks Unik
Kaedah yang paling berkesan ialah menambah indeks UNIK pada lajur nama pengguna dalam pangkalan data. Ini akan menghalang sebarang sisipan dengan nama pengguna pendua. Contohnya, menggunakan SQL:
ALTER TABLE users ADD UNIQUE (username);
Pengendalian Ralat dalam PHP
Tangkap ralat kekangan pendua dalam PHP. Kod ralat SQL untuk kekangan sedemikian ialah 1062.
Contoh dengan PDO:
try { $stmt = $pdo->prepare('INSERT INTO users(username) VALUE(?)'); $stmt->execute([$username]); } catch (\PDOException $e) { if ($e->errorInfo[1] === 1062) { $error[] = "This username is already taken!"; } else { throw $e; // Let the exception be processed further } }
Contoh dengan mysqli:
try { $stmt = $mysqli->prepare('INSERT INTO users(username) VALUE(?)'); $stmt->bind_param('s', $username); $stmt->execute(); } catch (\mysqli_sql_exception $e) { if ($e->getCode() === 1062) { $error[] = "This username is already taken!"; } else { throw $e; // Let the exception be processed further } }
Dengan melaksanakan indeks UNIK dan mengendalikan kekangan pendua ralat, sistem pendaftaran berkesan menghalang nama pengguna pendua dan memastikan ketepatan pangkalan data.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencegah Nama Pengguna Pendua Semasa Pendaftaran Pengguna?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!