PHP警告:stristr():第25行file.PHP中的空分隔符

PHP警告:stristr():第25行file.PHP中的空分隔符,php,xml,shoutcast,Php,Xml,Shoutcast,我正试图弄清楚为什么我的php错误日志会给我这个错误。 PHP警告:stristr:第25行filename.PHP中的空分隔符 现在我看了这行,没有一个变量是空的。因此,这方面的任何帮助都将是巨大的,因为我找不到任何问题。它也确实有效,但只是发出警告。我想看看我能不能修好它。下面是完整的代码 <?php if(!$db = @mysql_connect("$dbhost", "$dbuser", "$dbpass")) die('<font size=+1>An Erro

我正试图弄清楚为什么我的php错误日志会给我这个错误。 PHP警告:stristr:第25行filename.PHP中的空分隔符

现在我看了这行,没有一个变量是空的。因此,这方面的任何帮助都将是巨大的,因为我找不到任何问题。它也确实有效,但只是发出警告。我想看看我能不能修好它。下面是完整的代码

<?php
 if(!$db = @mysql_connect("$dbhost", "$dbuser", "$dbpass"))
 die('<font size=+1>An Error Occurred</font><hr>Unable to connect to the database. <BR>Check $dbhost, $dbuser, and $dbpass in config.php.');

if(!@mysql_select_db("$dbname",$db))
die("<font size=+1>An Error Occurred</font><hr>Unable to find the database <b>$dbname</b> on your MySQL server.");

if (isset($dj)) {
$dj = NULL;
}

$query="SELECT * FROM currentdj";
$result=mysql_query($query);
while($row = mysql_fetch_array($result)) {
    $did = $row['dj'];
    $aliasa = $row['alias1'];
    $aliasb = $row['alias2'];
    $aliasc = $row['alias3'];
    // The following code should detect DJ by song title, for Podcast and Audio Fictions 
    if ((isset($aliasa)) && (stristr($song[0], $aliasa) !== FALSE)) {
    $setby = "Alias1";
    $dj = $did;
    }
    if ((isset($aliasb)) && (stristr($song[0], $aliasb) !== FALSE)) {
    $setby = "Alias1";
    $dj = $did;
    }
    if ((isset($aliasc)) && (stristr($song[0], $aliasc) !== FALSE)) {
    $setby = "Alias1";
    $dj = $did;
    }
    // The following code should detect DJ by server title, for DJS and autodj
    if ((isset($aliasa)) && (stristr($servertitle, $aliasa) !== FALSE)) {
    $setby = "Alias1";
    $dj = $did;
    }
    if ((isset($aliasb)) && (stristr($servertitle, $aliasb) !== FALSE)) {
    $setby = "Alias2";
    $dj = $did;
    }
    if ((isset($aliasc)) && (stristr($servertitle, $aliasc) !== FALSE)) {
    $setby = "Alias3";
    $dj = $did;
    }  
}
?>

因此,我在所有If-isset语句中都得到了这个警告。

我发现了这个问题。警告之所以存在,是因为页面本身并不认为var是空的,但是当你进入主页时,它会将信息加载到var中,然后它就真的不是空的,这就是为什么它在网站上可以实时工作,但仍然会在php错误页面上收到警告,因为这是我得到的唯一错误,我决定忽略它


感谢大家的想法

$song[0]解决了什么问题?$song[0]是当前正在shout cast服务器上播放的歌曲。它不是空的,因为它回显了fine。你确定$aliasa不是空的吗?$aliasa是mysql数据库中的数据,他们有data@Joseph斯科卡:你在做假设。编程不是假设,而是事实。您希望解决您的问题-使用事实并使用var_dump