Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.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
Php代码以空白屏幕结束_Php - Fatal编程技术网

Php代码以空白屏幕结束

Php代码以空白屏幕结束,php,Php,我有这个PHP代码,我正在验证并获取相应的查询。。虽然我的查询正在启动,但它以空白屏幕结束。我已经用die()注释了该位置 for($z=0;$z

我有这个PHP代码,我正在验证并获取相应的查询。。虽然我的查询正在启动,但它以空白屏幕结束。我已经用
die()
注释了该位置

for($z=0;$z
除非输出内容,否则以空白屏幕结束执行是正常的。尝试将此添加到代码的末尾,以显示踢腿和咯咯笑:

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

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

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);
        }
    }
for($z=0;$z

希望有帮助

“空白屏幕”可能表示您的PHP配置为将错误输出到错误日志而不是浏览器。错误日志怎么说?至少它应该完成循环,因为我在这个代码之后使用了
header()
。将
error\u reporting
设置为
-1
可能不会立即“点亮灯泡”。这里面有
E_ALL
+1。@Linus:根据您的PHP版本,E_ALL和-1的行为并不相同。我不能在这里假设PHP版本。出于好奇,我很想看看这个工作示例。这个问题似乎很矛盾<4.x中的code>E_ALL
不包括
E_DEPRECATED
,因为它(还)不知道它。然后跳过哪些错误消息?据我所知,从5.4开始,E_ALL与-1相同。在此之前,E_ALL是E_ERROR、E_WARNING等的组合。在5.0.0中,E_STRICT不是E_ALL的一部分,因此错误报告(-1)与错误报告(E_ALL)不同。
    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);
        }
    }