0
echo "<OPTION value=$data2['product_id']>$data2['product_id']</OPTION>";

これにより、次のエラーが表示されます。

PHP 解析エラー: 構文エラー、予期しない T_ENCAPSED_AND_WHITESPACE、T_STRING または T_VARIABLE または T_NUM_STRING が必要です

私を助けてくれませんか?このエラーを修正するにはどうすればよいですか?

4

5 に答える 5

2
echo "<OPTION value=".$data2['product_id'].">".$data2['product_id']."</OPTION>";
于 2012-06-20T10:12:39.623 に答える
1

使用するだけです:

echo "<OPTION value=$data2[product_id]>$data2[product_id]</OPTION>";

また

echo "<OPTION value=" . $data2['product_id'] . ">" . $data2['product_id'] . "</OPTION>";

また

echo sprintf("<OPTION value=%s>%s</OPTION>", $data2['product_id'], $data2['product_id']); // separate logic from presentation

二重引用符で囲まれた文字列内で連想配列または数値配列を参照する場合は、引用符を使用しないでください

ただし、一般的なベスト プラクティスとして、HTML 属性で引用符を使用し、内部のテキストにhtmlentities()andhtmlspecialchars()を使用することをお勧めします。value="..."OPTION

于 2012-06-20T10:13:07.557 に答える
1

また

echo "<OPTION value=$data2[product_id]>$data2[product_id]</OPTION>";

また

echo "<OPTION value={$data2['product_id']}>{$data2['product_id']}</OPTION>";
于 2012-06-20T10:12:02.090 に答える
1

printf文字列内に変数を入れる代わりに(または)を使用するsprintf方がはるかに読みやすいと思うので、私はそれを好みます。また、値にまたはhtmlspecialcharsが含まれている場合にエラーを回避するために、 を使用して値を HTML エスケープすることもできます。<>

$prodid = htmlspecialchars($data2['product_id']);
printf('<OPTION value="%s">%s</OPTION>',
       $prodid,
       $prodid);
于 2012-06-20T10:14:51.497 に答える
1

変数を中かっこで囲むと、エラーを取り除くことができます。

echo "<OPTION value={$data2['product_id']}>{$data2['product_id']}</OPTION>";

これはより良いでしょうが(出力をエスケープします):

echo '<option value="', 
  htmlspecialchars($data2['product_id']), '">', 
  htmlspecialchars($data2['product_id']), 
  '</option>';
于 2012-06-20T10:12:48.547 に答える