Php代码以空白屏幕结束


Php code ends with blank screen

我有这段PHP代码,我正在相应地验证和获取查询。。尽管我的查询正在启动,但它以空白屏幕结束。我已经用die()评论了位置;

for ($z = 0; $z < count($track); $z++) {
    if ( in_array($track[$z], $already_track)) {
        $at_key = array_search($track[$z], $already_track);
        $a = explode(":", $artist[$z]);
        $b = explode(":", $already_artist[$at_key]);
        $array_compared = array_diff($a, $b);
        if (empty($array_compared)) {
            continue;
        } else {
            $sql = mysql_query("INSERT INTO tracklist(aid, sid, rid, added_by, added_on) VALUES('".$album."', '".$track[$z]."', '".$artist[$z]."', '".$_SESSION["userkey"]."', '" . $time . "' )") or die(mysql_error());
            //die("Yes Here"); //My code output blank screen after this query. Though query fired successully.
        }
    } else {
        $sql = mysql_query("INSERT INTO tracklist(aid, sid, rid, added_by, added_on) VALUES('".$album."', '".$track[$z]."', '".$artist[$z]."', '".$_SESSION["userkey"]."', '" . $time . "' )") or die(mysql_error());
    }
}

首先,我会在脚本顶部设置这一行,以启用所有错误:

error_reporting(-1);

然后,我会在屏幕上打印一些东西,看看你的脚本是在"if"的"true"部分还是在"false"(else)中。

最后,我将在屏幕上转储您在SELECT语句中放入的所有变量。您的变量没有转义,所以这可能是您出现错误的原因。输出SQL语句并直接在MySQL中运行它也会告诉您错误是否来自该部分。

数据中的任何引号(单引号或双引号)都可能对SQL产生影响。

编辑后的代码为:

    for ($z = 0; $z < count($track); $z++)   {
        if ( in_array($track[$z], $already_track)){
            $at_key = array_search($track[$z], $already_track);
            $a = explode(":", $artist[$z]);
            $b = explode(":", $already_artist[$at_key]);
            $array_compared = array_diff($a, $b);
            if(empty($array_compared)){
                continue;
            } else {
                $sql = "INSERT INTO tracklist(aid, sid, rid, added_by, added_on) VALUES('".$album."', '".$track[$z]."', '".$artist[$z]."', '".$_SESSION["userkey"]."', '" . $time . "' )";
                echo 'First else.';
                var_dump($track, $artist, $album, $_SESSION["userkey"]);
                $res = mysql_query($sql);
                var_dump($res);
           }
        } else {
            $sql = "INSERT INTO tracklist(aid, sid, rid, added_by, added_on) VALUES('".$album."', '".$track[$z]."', '".$artist[$z]."', '".$_SESSION["userkey"]."', '" . $time . "' )";
            echo 'Second else.';
            var_dump($track, $artist, $album, $_SESSION["userkey"]);
            $res = mysql_query($sql);
            var_dump($res);
        }
    }

希望它能有所帮助!

除非输出内容,否则以空白屏幕结束执行是正常的。试着把这个添加到你的代码末尾,让你开心:

echo('This is a test...');