[英]PHP MySQL_return_rows = echos 1 then 0
我正在為PHP處理腳本做一個AJAX帖子。 我正在檢查MySQL是否返回任何正在進行注冊的行。 我遇到的問題 - MySQL快速回顯1行然后回顯0並繼續注冊,即使存在0行。 為什么我看到1行返回,然后快速糾正自己?
$.ajax({
type: "POST",
data: "username="+$(this).attr('username')+"password="+$(this).attr('email')+$(this).attr('password')+$(this).attr('passconf'),
url: "includes/register.php",
success: function(msg)
{
alert(data);
$("#result").data($data);
}
});
});
PHP代碼:
$res = mysql_query("SELECT * FROM users WHERE username = '".$username."'");
if (!$res) {
$message = 'Invalid query: ' . mysql_error() . "\n";
$message .= 'Whole query: ' . $query;
die($message);
}
$num = mysql_num_rows($res);
echo $num;
您的事件處理程序可能無法阻止默認操作,導致表單被提交兩次(一次通過ajax,一次通過常規瀏覽器表單提交)。 嘗試像這樣返回false:
$(login_form).click(function() {
$.ajax({ ... });
return false;
});
返回false
阻止默認操作並停止冒泡。 如果你想要冒泡仍然適用,你也可以明確地防止這樣的默認:
$(login_form).click(function(ev) {
ev.preventDefault();
$.ajax({ ... });
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.