【发布时间】:2013-04-15 10:55:53
【问题描述】:
我正在使用下面的 PHP 和 jQuery 脚本,并且正在尝试检查输入的用户名是否已存在于数据库中。
PHP
if(mysqli_query($con, "SELECT id FROM user WHERE user_name='$username'")){
echo '1'; //If there is a record match in the Database - Not Available
} else {
echo '0'; //No Record Found - Username is available
}
}
?>
jQuery
$(document).ready(function(){
$("fieldset input[name=username]").change(function(){
var username = $("fieldset input[name=username]").val();//Get the value in the username textbox
if(username.length > 3){
$(".username_status").html('<img src="loader.gif" align="absmiddle"> Checking availability...');
$.ajax({
type: "POST",
url: "/donald/settings/check-username.php", //file name
data: "username="+ username, //data
success: function(data){
console.log("server_response: "+data);
if(data == '0'){
$(".username_status").html('<font color="Green"> Available </font>');
} else if(data == '1'){
$(".username_status").html('<font color="red">Not Available </font>');
}
}
});
} else {
$(".username_status").html('<font color="#cc0000">Username too short</font>');
}
return false;
});
});
结果总是以1 的形式出现
【问题讨论】:
-
mysqli_query 请参阅返回值部分。顺便说一句,你想为 php.net 添加书签
-
您的代码对 SQL 注入开放
-
@YourCommonSense 请分享一个如何防止这种情况的示例