Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/232.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Ajax给出错误500_Javascript_Php_Ajax - Fatal编程技术网

Javascript Ajax给出错误500

Javascript Ajax给出错误500,javascript,php,ajax,Javascript,Php,Ajax,我有一个应用程序,它通过Ajax每秒向PHP文件发出POST请求。如果我尝试在php中拆分$u POST数组中收到的字符串,或者尝试对其进行json_解码,则会出现500错误。 如果我不做任何这些动作,我不会得到任何错误。 为什么? 这是使用两个POST变量处理Ajax请求的PHP代码: <?php $mysqli = new mysqli(*data*); if (is_string($_POST["lid"]) && (is_string($_P

我有一个应用程序,它通过Ajax每秒向PHP文件发出POST请求。如果我尝试在php中拆分$u POST数组中收到的字符串,或者尝试对其进行json_解码,则会出现500错误。 如果我不做任何这些动作,我不会得到任何错误。 为什么?

这是使用两个POST变量处理Ajax请求的PHP代码:

    <?php
    $mysqli = new mysqli(*data*);
    if (is_string($_POST["lid"]) && (is_string($_POST["price"]) || is_integer($_POST["price"])) && 0===1) {
        $li_id = $_POST["lid"];
        $esc_li_id = $mysqli->real_escape_string($li_id);
        $li_price = intval($_POST["price"]);

        if ( ($li = $mysqli->query("SELECT listing_id, price, buyer_id, auction_name FROM listings WHERE listing_id = '$esc_li_id' AND schedule_requested = '1' AND finished = '0'")) && ($mysqli->affected_rows > 0) ) {
            if ( intval($li["price"]) !== $li_price ) {
                $response = array($li["price"], $li["buyer_id"], $li["auction_name"]);
            if ($logged === 1) {
                $response[] = $user_id;
            }
            echo json_encode($response);
        } else {
            echo "err";
        }
    } else {
        echo "err";
    }
    } else echo 'err'; ?>

如果要执行外部If中的代码,它将返回500错误。如果我将&&0==1放入外部If,则不会返回错误。

您的PHP代码试图执行错误操作,因此中断调用并返回500个错误。检查您在帖子中收到的信息是否与您期望的一致,可能不是字符串,这就是为什么您的字符串操作不起作用的原因

,因为您编写的代码已损坏,导致PHP在出现致命错误时停止,导致500内部服务器错误。检查开发人员控制台的“网络”选项卡中的输出,或服务器上的Apache日志。@NielsKeurentjes-在将答案作为注释发布时,如何在此处获得24k rep?@jimboJonny,作弊。@jimboJonny,因为我只发布实际解决问题的答案。当我只是因为我今天没有带我的水晶球而发现这个问题,但是这里有一些指针来解决它,我不认为这是我应该回答的问题。为什么不把代码包含在这里呢?喜欢猜谜游戏吗?这似乎不是问题:即使在变量的类型上插入控件,情况也不会改变。在没有看到代码的情况下调试它几乎是不可能的,只是告诉你为什么它会中断并试图将你指向最可能的原因。啊,你是对的。抱歉,我已将代码粘贴到问题的正文中。