【问题标题】:ajax run mysql query and check whether mysql query was true or false?ajax 运行 mysql 查询并检查 mysql 查询是真还是假?
【发布时间】:2015-06-25 13:12:46
【问题描述】:

我正在使用以下 ajax 脚本来运行我的 MySQL 查询,然后只希望 jquery 淡出我的 div 并在查询返回 true 时淡入另一个,否则如果查询返回 false 则不执行任何操作。

阿贾克斯:

<script type="text/javascript">
    $(document).ready(function () {
        $.ajax({
            type: "POST",
            url: "include/fade_to_do_list.php",
            data: "theOption=" + $(this).attr("id"), 
            dataType: 'json',//specify data type
            success: function(data3) {
                if(data3.res.indexOf("success") >-1 ){
                    setTimeout(
                        function() {    
                            $("#to_do_list").fadeOut();
                        }, 3500
                    );

                    setTimeout(
                        function() {    
                            $("#compliance_list").fadeIn();
                        }, 500
                    );
                } 
            }
        });
    });
</script>

PHP/MYSQL:

<?php 
session_start();
include 'config.php';

$query = "SELECT * FROM supplier_stats WHERE complete_count = > 3 AND user_id = '{$_SESSION['id']}'";
$result = mysql_query($query);
if(mysql_num_rows($result)>0) {
    $query2 = "UPDATE supplier_stats SET profile_complete = 'complete' WHERE user_id = '{$_SESSION['id']}'";
    $result2 = mysql_query($query2);

    if($result2) {
         $return['res'] = 'success';
    } else {
} 
}

echo json_encode($return);
?>

请有人告诉我哪里出错了?我目前没有错误,我的 jquery 只是没有执行。谢谢

【问题讨论】:

  • 目前发生了什么?错误,如果是,在哪里,是什么?
  • @chris85 目前没有错误,但无论我的查询是真还是假,我的 jquery 都不会执行
  • 它不发送请求或没有得到响应?
  • @我认为我的 MySQL 在这种情况下实际上并没有工作,所以它失败了,如果查询失败,我没有告诉 ajax 做任何事情。但我不明白为什么查询不起作用
  • 尽量简化,只运行PHP页面,开启错误报告。此外,根据$_SESSION['id'] 的设置方式,您可能会对 SQL 注入持开放态度。还有一件事 else 不是必需的,如果您不使用它,您可以删除它。

标签: php mysql ajax


【解决方案1】:

mysql_query() 总是给你一些回报。你需要count number of affected row

同样的问题是等于大于运算符它被用作&gt;=

$query = "SELECT * FROM supplier_stats WHERE complete_count >= 3 AND user_id = '{$_SESSION['id']}'";
$result = mysql_query($query);

$query2 = "UPDATE supplier_stats SET profile_complete = 'complete' WHERE user_id = '{$_SESSION['id']}'";
    $result2 = mysql_query($query2);
    $total=mysql_affected_rows();

    if($total >0) {
         $return['res'] = 'success';
    } else {

} 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-09-17
    • 1970-01-01
    • 2021-11-23
    • 2012-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-21
    相关资源
    最近更新 更多