我试图检查用户想要的用户名是否已经被使用,而无需发送表单,基本上是用户名字段的 onBlur。
我遇到了一些麻烦,有几个问题。
我有我的输入字段加上 js:
<script src="js/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function(){
$('#username').on('blur', checkdb);
function checkdb(){
var desiredUsername = $(this).val();
$.ajaxSetup({
url: "check-db.php",
type: "POST",
});
$.ajax({
data: 'desiredUsername='+desiredUsername,
success: function (msg) {
alert (msg);},
error: function (XMLHttpRequest, textStatus, errorThrown){
alert('Error submitting request.');
}
});
}
});
</script>
<input type="text" name="username" id="username">
和我的 check-db.php 文件:
$mysqli = mysqli_connect("localhost","connection info");
if ($mysqli->connect_errno) {
echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}
$desiredUsername = $_POST['desiredUsername'];
$stmt = $mysqli->prepare("SELECT * FROM users WHERE username = '?' ");
$stmt->bind_param('s', $desiredUsername);
$stmt->execute();
首先:我从我的 php 代码中得到一个错误,“变量的数量与准备好的语句中的参数数量不匹配”,这让我有点困惑?我有 1 个变量和 1 个参数,不是吗?
那么,一旦这实际工作,我如何将消息/变量发送回输入页面?所以如果用户名被占用,我可以这么说,或者如果它可用的话?
谢谢!