簡體   English   中英

解析php中的語句語法錯誤,缺少某些內容

[英]parse error in php for the statement syntax, missing something

我正在嘗試在從數據庫的另一個表中檢索的下拉列表中回顯數據庫中字段的值,但我一直收到Parse錯誤:語法錯誤,意外的T_IF

我知道我在括號中缺少逗號,但是我似乎看不到它,

 <?php
      $result1 = mysql_query("SELECT `CompanyID`, `Name` FROM `company`") or trigger_error(mysql_error());

      while($row1 = mysql_fetch_array($result1)) { 
           foreach($row1 AS $key1 => $value1) {
                $row1[$key1] = stripslashes($value1);
           } 

           echo "<option value=" . nl2br( $row1['CompanyID']) . " ". if($row['CompanyID'] == $Merchant) echo 'selected = "selected"'
        . ">" . nl2br( $row1['Name']) . "</option>";
        } 
 ?>

不能使用if像你在你的代碼做了(一個字符串)。 它什么也不返回。 用這個:

$sValue = boolean_value ? 'value if TRUE' : 'value if FALSE';

它被稱為“三元運算符”。 PHP文檔鏈接:

http://php.net/manual/zh/language.operators.comparison.php#language.operators.comparison.ternary

像這樣更改它,例如:

 <?php
      $result1 = mysql_query("SELECT `CompanyID`, `Name` FROM `company`") or trigger_error(mysql_error());

      while($row1 = mysql_fetch_array($result1)) { 
           foreach($row1 AS $key1 => $value1) {
                $row1[$key1] = stripslashes($value1);
           } 

           $sSel = ($row['CompanyID'] == $Merchant) ? 'selected = "selected"' : '';

           echo "<option value=" . nl2br( $row1['CompanyID']) . " ".sSel.">" . nl2br( $row1['Name']) . "</option>";
        } 
 ?>

如果需要,還可以使用if ,但可以采用其他方式:

if($row['CompanyID'] == $Merchant) {
    $sSel = 'selected = "selected"';
} else {
    $sSel = '';
}

但是,我當然更喜歡我提供給您的第一種解決方案。

您的If錯誤。 用這個:

   echo "<option value=" . nl2br( $row1['CompanyID']) . " ";
   if($row['CompanyID'] == $Merchant){ echo 'selected = "selected"'};
   echo ">" . nl2br( $row1['Name']) . "</option>";

您可以這樣:

echo 'something ' . ( true ? 'statement is true' : 'statement is false') . ' continue echo';

所有的錯誤都被消除。

更正的代碼:

<?php
$result1 = mysql_query("SELECT `CompanyID`, `Name` FROM `company`") or trigger_error(mysql_error());

while ($row1 = mysql_fetch_array($result1)) {
    foreach ($row1 as $key1 => $value1) {
        $CompanyID = stripslashes($value1);
        $CompanyID = nl2br($CompanyID);
        $selected  = ($CompanyID == $Merchant) ? 'selected = "selected"' : '';

        echo '<option value="' . nl2br( $CompanyID) . '"' . $selected . '></option>';
    }
}
?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM