2016-06-25 18 views
-3

私のデータベースに格納されたデータを含むチェックボックスのリストを表示するスクリプトを実行しています:email_listテーブル。構文解析エラー:echo文の構文エラー

マイスクリプト:

<img src="blankface.jpg" width="161" height="350" alt="" style="float:right" /> 
<img name="elvislogo" src="elvislogo.gif" width="229" height="32" border="0" alt="Make Me Elvis" /> 
<p>Please select the email addresses to delete from the email list and click Remove.</p> 

<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?> "> 

<?php 
    $dbc= mysqli_connect('localhost', 'root', '', 'elvis_store') 
     or die('Error connecting to MySQL server.'); 

    $query = "SELECT * FROM email_list"; 
    $result = mysqli_query($dbc, $query) 
     or die('Error querying database'); 

    while($row = mysqli_fetch_array($result)) { 
     echo '<input type="checkbox" value="' . $row['id']'" name="todelete[]" />'; 
     echo $row['firstname']; 
     echo $row['lastname']; 
     echo $row['email']; 
     echo '<br />'; 
    } 
    mysqli_close($dbc); 
?> 

    <input type="submit" name="submit" value="Remove" /> 

</form> 

私はこのスクリプトを実行しているが、それはパースエラーが表示されます

Parse error: syntax error, unexpected ''" name="todelete[]" />'' (T_CONSTANT_ENCAPSED_STRING), expecting ',' or ';' in C:\wamp\www\removeemail.php on line 16

私はこの問題を得ることはありません。

答えて

0

追加。 $row['id']

echo '<input type="checkbox" value="' . $row['id'] . '" name="todelete[]" />'; 
+0

値プロパティに単一引用符を入れて、なぜ私は100%理解していませんでしたか?エコーにはすでに一重引用符があります。 –

+0

変数をバインドするために一重引用符を使用しない場合、入力タグ全体が破損します。 ' –

0

後にあなたの最初のecho文で.を逃しています。文字列を連結するには、.の両端にある必要があります。

このようにコードを更新してください。

echo '<input type="checkbox" value="'. $row['id'].'" name="todelete[]" />'; 

http://php.net/manual/en/language.operators.string.php

+0

ありがとうございます。私はvalueプロパティに一重引用符を入れる理由を100%理解できませんでしたか?エコーにはすでに一重引用符があります。 –

+0

これは 'PHP変数 'を文字列に連結したいからです。リファレンスマニュアルを見てください。 –

関連する問題