当结果存在时,它不会进入if
条件,它会进入else
。在查询结果$num>0
中,我想要一个类似"收据编号已存在"的警报。
$.post("acceptajax.php?confirm1="+confirm+'&receipt='+receipt+'&amount='+amount,function(result,status){
//$('#divsub'+confirm).html(data);
if(result == 'exist'){
alert('Receipt number Alerady Exit');
} else {
$('#accept_'+confirm).hide();
$('#unaccept_' +confirm).show();
}
});
acceptajax.php
:
$img_id=$_GET['confirm1'];
$receipt=$_GET['receipt'];
$receipt='HYD'.$receipt;
$amount=$_GET['amount'];
$sql=mysql_query("SELECT receipt FROM user WHERE receipt=$receipt");
$num=mysql_num_rows($sql);
if($num==0){
echo "suc";
} else {
echo "exist";
}
你在$receipt
周围缺少'
。试试这个:
"SELECT receipt FROM user WHERE receipt='$receipt'"
旁注 :
1)请不要使用
mysql_
。它已被弃用并删除 从 PHP 7.使用mysqli_*
或PDO
。2) 您的查询已打开以进行 sql 注入。阅读此内容: 如何防止 PHP 中的 SQL 注入?
像这样使用查询:
$sql=mysql_query("SELECT receipt FROM user WHERE receipt='".$receipt."'");
而不是使用它,因为这不是正确的编码方式,因为您使用 Post 方法发送数据并使用 Get 方法发送数据。
$.post("acceptajax.php?confirm1="+confirm+'&receipt='+receipt+'&amount='+amount,function(result,status)
你应该像这样使用它:
$.post("acceptajax.php", {confirm1:confirm, receipt: receipt, amount: amount}, function(result, status){
//your script
});
并使用 $_POST[]; 方法获取 acceptajax 上的数据.php。希望对您有所帮助。