'如果变量等于变量echo this'导致白屏

时间:2012-11-25 17:57:17

标签: php

基本上我有一个带有数据集值的选择框,我需要做的就是选择一个等于数据集中另一个字段值的那个。以下是代码,非常感谢您的帮助: - )

<option value="<?php echo $row_menucats1['id'] ?> " 

<?php 

$cats1 = $row_menucats1['id'];
$cats2 = $row_options['sub_cat_id_link'];

if ($cats1 == '$cats2') { 

echo 'selected' 
}

?> >

4 个答案:

答案 0 :(得分:5)

有一个简单的语法错误。你的echo语句后需要一个分号:

echo 'selected';

您的if语句:如果($cats1 == '$cats2')需要:

if ($cats1 == $cats2)

你拥有它的当前方式,它是一个实际的字符串。

要启用error reporting,您可以添加:error_reporting(E_ALL);

答案 1 :(得分:4)

你错过了一个分号:

echo 'selected'; // <-- here

将来您应该打开错误报告或查看错误日志。白色屏幕表示500内部服务器错误,在这种情况下意味着PHP致命错误。

error_reporting(E_ALL);
ini_set('display_errors', '1');

答案 2 :(得分:1)

如果它导致白屏,则应启用错误报告。阅读更多:http://php.net/manual/en/function.error-reporting.php

另请阅读:

<option value="<?php echo $row_menucats1['id'] ?> " 

<?php 

$cats1 = $row_menucats1['id'];
$cats2 = $row_options['sub_cat_id_link'];

if ($cats1 == $cats2) {  // '$cats2' is just a string, $cats2 is a variable

echo 'selected'; // You missed a semi colon here
}

?> >

答案 3 :(得分:0)

          <option value="<?php echo $row_menucats1['id'] ?> " 

          <?php 

                $cats1 = $row_menucats1['id'];
                $cats2 = $row_options['sub_cat_id_link'];

                 if ($cats1 == '$cats2') { 

                  echo 'selected'; //semi colon is missing
              }

          ?> >

请注意上面代码片段中提到的注释。可执行语句中缺少半冒号的语法错误。遵循PHP的语法规则,每个可执行语句必须以分号结束。