まず最初に、入力をエスケープすることをお勧めします。
また、オブジェクト指向に関するほとんどのドキュメントは手続き型の方法よりも明確であるため、プリペアドステートメントとオブジェクト指向のmysqliの方法を使用できることにも注意してください。
のように:
<?php
$u=striptags($_POST['username']);
$p=striptags($_POST['password']);
$e=filter_var($_POST['email'], FILTER_SANITIZE_EMAIL);
$ph=(int)$_POST['phone'];
$mysqli = new mysqli($host,$username,$password,$db_name);
$query = "INSERT INTO register (username,password,email,phone) VALUES (?,?,?,?)";
$stmt = $mysqli->prepare($query);
$stmt->bind_param("sssi", $u, $p, $e, $ph);
$stmt->execute();
$mysqli->close();
?>
次のようにパスワードにハッシュを使用しても問題はありません:
<?php
$salt = mcrypt_create_iv(16, MCRYPT_DEV_URANDOM);
$passh = crypt($pass, '$6$'.$salt);
?>
後で比較できるように、saltもmysqlに保存する必要があることに注意してください
したがって、これらを使用すると、パスワードがより安全になり、データベースが盗まれた場合でも、パスワードはハッシュされたままになります。