echo "<OPTION value=$data2['product_id']>$data2['product_id']</OPTION>";
これにより、次のエラーが表示されます。
PHP 解析エラー: 構文エラー、予期しない T_ENCAPSED_AND_WHITESPACE、T_STRING または T_VARIABLE または T_NUM_STRING が必要です
私を助けてくれませんか?このエラーを修正するにはどうすればよいですか?
echo "<OPTION value=$data2['product_id']>$data2['product_id']</OPTION>";
これにより、次のエラーが表示されます。
PHP 解析エラー: 構文エラー、予期しない T_ENCAPSED_AND_WHITESPACE、T_STRING または T_VARIABLE または T_NUM_STRING が必要です
私を助けてくれませんか?このエラーを修正するにはどうすればよいですか?
echo "<OPTION value=".$data2['product_id'].">".$data2['product_id']."</OPTION>";
使用するだけです:
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
また
echo "<OPTION value=$data2[product_id]>$data2[product_id]</OPTION>";
また
echo "<OPTION value={$data2['product_id']}>{$data2['product_id']}</OPTION>";
printf
文字列内に変数を入れる代わりに(または)を使用するsprintf
方がはるかに読みやすいと思うので、私はそれを好みます。また、値にまたはhtmlspecialchars
が含まれている場合にエラーを回避するために、 を使用して値を HTML エスケープすることもできます。<
>
$prodid = htmlspecialchars($data2['product_id']);
printf('<OPTION value="%s">%s</OPTION>',
$prodid,
$prodid);
変数を中かっこで囲むと、エラーを取り除くことができます。
echo "<OPTION value={$data2['product_id']}>{$data2['product_id']}</OPTION>";
これはより良いでしょうが(出力をエスケープします):
echo '<option value="',
htmlspecialchars($data2['product_id']), '">',
htmlspecialchars($data2['product_id']),
'</option>';