0 レビュー
3 回答
PHPの$endエラーが正確にどこにあるかを検出する方法は
phpでこのエラーが発生しました:
Parse error: syntax error, unexpected $end in J:\Server\xampplite\htdocs\exp\printact.php on line 172
ブラケットが不足している可能性があります。エラーが正確にどこにあるかを特定するのに役立つツールはありますか?
編集:
これがコードです、その混乱:)
<link rel="stylesheet" href="print.css" type="text/css" media="print" />
<font size="3"><center><b>XD627 INFORMATION MANAGEMENT SYSTEM</b></center></font>
<br />
<br />
<div id="max">
<?php
$con = mysql_connect("localhost","root","nitoryolai123$%^");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("school", $con);
?>
<?php
$ShowImage= ( $_POST['pic'] == 'pix');
$ShowFirstName = ( $_POST['fname'] == 'firstname');
$ShowLastName = ( $_POST['lname'] == 'lastname');
$ShowMidName = ( $_POST['mname'] == 'midname');
$ShowAddress = ( $_POST['ad'] == 'address');
$ShowGender = ( $_POST['gender'] == 'gen');
$ShowReligion = ( $_POST['rel'] == 'religion');
$ShowBday = ( $_POST['bday'] == 'birthday');
$ShowContact = ( $_POST['contact'] == 'contactnum');
$ShowMother = ( $_POST['mother'] == 'ma');
$ShowMotherOcc = ( $_POST['mother_occ'] == 'ma_occ');
$ShowFather = ( $_POST['father'] == 'pa');
$ShowFather_Occ = ( $_POST['father_occ'] == 'pa_occ');
$ShowParentAddress = ( $_POST['parent_add'] == 'pad');
$ShowParentContact = ( $_POST['parent_contact'] == 'pcon');
$id = mysql_real_escape_string($_POST['idnum']);
$result2 = mysql_query("SELECT * FROM student WHERE IDNO='$id'");
$result3 = mysql_query("SELECT * FROM mother WHERE IDNO='$id'");
$result4 = mysql_query("SELECT * FROM father WHERE IDNO='$id'");
$result5 = mysql_query("SELECT * FROM parents WHERE IDNO='$id'");
?>
<?php while($row = mysql_fetch_array($result2))
{
?>
<font size="2"><b><u>Student Information</br></b></u></font><br>
<?php if( $ShowImage ) ?>
<?php echo "<img src='http://localhost/exp/upload/$sidno.jpg'>"; ?> <br><br>
<font size="1"><B>ID Number:</B> <?php echo $row['IDNO']; ?> <br>
<font size="1"><B><B>Year:</B> <?php echo $row['YEAR']; ?> <br>
<B>Section:</B> <?php echo $row['SECTION']; ?> <br>
<?php if( $ShowLastName ) ?>
<font size="1"><B>Lastname:</B> <?php echo $row['LASTNAME']; ?> <br>
<?php if( $ShowFirstName ) ?>
<font size="1"><B><B>Firstname:</B> <?php echo $row['FIRSTNAME']; ?> <br>
<?php if( $ShowMidName ) ?>
<font size="1"><B><B>Midname:</B> <?php echo $row['MI']; ?> <br>
<?php if( $ShowAddress ) ?>
<font size="1"><B><B>Address:</B> <?php echo $row['ADDRESS']; ?> <br>
<?php if( $ShowGender ) ?>
<font size="1"><B><B>Gender:</B> <?php echo $row['GENDER']; ?> <br>
<?php if( $ShowReligion ) ?>
<font size="1"><B><B>Religion:</B> <?php echo $row['RELIGION']; ?> <br>
<?php if( $ShowBday ) ?>
<font size="1"><B><B>Birthday:</B> <?php echo $row['BIRTHDAY']; ?> <br>
<?php if( $ShowContact) ?>
<font size="1"><B><B>Contact Number</B> <?php echo $row['S_CONTACTNUM']; ?> <br>
<?php } ?>
<?php while($row = mysql_fetch_array($result3))
{
?>
<br>
<br>
<?php if( $ShowMother or $ShowFather or $ShowMotherOcc or $ShowFather_Occ or $ShowParentAddress or $ShowParentContact ) ?>
<font size="3"><b><u>Parent Information</br></b></u></font><br>
<tr>
<?php if( $ShowMother ) ?>
<font size="1"><B><B>Mother:</B> <?php echo $row['MOTHER']; ?> <br>
<?php if( $ShowMotherOcc ) ?>
<font size="1"><B><B>Mother Occupation:</B> <?php echo $row['MOTHER_OCCUPATION']; ?> <br>
}
<?php while($row = mysql_fetch_array($result4))
{ ?>
<?php if( $ShowFather ) ?>
<font size="1"><B><B>Father:</B> <?php echo $row['FATHER']; ?> <br>
<?php if( $ShowFather_Occ ) ?>
<font size="1"><B><B>Father Occupation:</B> <?php echo $row['FATHER_OCCUPATION']; ?> <br>
<?php } ?>
<?php while($row = mysql_fetch_array($result5))
{ ?>
<?php if( $ShowParentAddress ) ?>
<font size="1"><B><B>Parent Address:</B> <?php echo $row['P_ADDRESS']; ?> <br>
<?php if( $ShowParentContact ) ?>
<font size="1"><B><B>Parent Contact:</B> <?php echo $row['P_CONTACTNUM']; ?> <br>
<?php } ?>
<?php mysql_close($con); ?>
</div>
<div id="nav">
<form>
<input type="button" value="Print" onClick="window.print();" />
</form>
</div>
わからない
0
レビュー
答え :
解決策: while ($row = mysql_fetch_array($result3)) {
このループは決して閉じられません。
問題を見つけるために使用した方法は次のとおりです。
- http://www.phpformatter.com/ にアクセスし、指定したコードをコピーしてボックスに貼り付けました。
- [オプション]の下の[制御構造の後にコメント]チェックボックスをオンにしました。
- コードをフォーマットしました。
- 最後のコメントが一致しない構造を調べて探しました。
完全に自動化されているわけではありませんが、中括弧を閉じるたびにコメントを付けて、中括弧と一致しているとパーサーが信じていることを伝えることは、中括弧の欠落/不一致を追跡するための天の恵みです。
ただし、将来的には、コードを最初からきちんとフォーマット/コメントすることを強くお勧めします。これは、この種のエラーを見つけて回避するのに役立ちます。
while ($row = mysql_fetch_array($result3)) {
このループは決して閉じられません。
問題を見つけるために使用した方法は次のとおりです。
- http://www.phpformatter.com/ にアクセスし、指定したコードをコピーしてボックスに貼り付けました。
- [オプション]の下の[制御構造の後にコメント]チェックボックスをオンにしました。
- コードをフォーマットしました。
- 最後のコメントが一致しない構造を調べて探しました。
完全に自動化されているわけではありませんが、中括弧を閉じるたびにコメントを付けて、中括弧と一致しているとパーサーが信じていることを伝えることは、中括弧の欠落/不一致を追跡するための天の恵みです。
ただし、将来的には、コードを最初からきちんとフォーマット/コメントすることを強くお勧めします。これは、この種のエラーを見つけて回避するのに役立ちます。
わからない
0
レビュー
答え :
解決策:
Davが述べたように、閉じ中括弧がありません。ただし、欠落している理由は、 {-code-1 {-code-3を囲むことなく、
{-code-1 }
タグで囲まれていないためです。 } タグは、コードが{-code-1}インタープリターによって考慮されない
変更
}
から
<?php }?>
わからない
0
レビュー
答え :
解決策:
いいえ、ツールがエラーを見つける方法は実際にはありません。これは閉じられていないブロックであり、ブロックを閉じるつもりだった場所をツールが知る方法はありません(ほとんどの場合)。
最善の策は、ブロックをインデントする方法でコードをフォーマットし、一致する中括弧を強調表示するエディターを使用することです。これにより、見逃したものを簡単に一致させることができます。
わからない
同様の質問
私たちのウェブサイトで同様の質問で答えを見つけてください。