我有这段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...');