我希望从MySQL数据中获取我想要<option value ='and acode ='Aircraft1''>
的下拉列表,包括将两个单引号传递给查询。我已经包含了反斜杠,但它不起作用。我的代码出了什么问题?
<?php
$asql = "SELECT * FROM aircraft";
$aresult = mysql_query($asql);
?>
Aircraft:
<select name="aircraft">
<option value="and (acode = 'RP-C1086' or acode='RP-C1728')" checked/>All</option>
<?php while($arow=mysql_fetch_array($aresult))
{
echo "<option value='and acode=\'".$arow['reg']."\''>".$arow['reg']."</option>";
} ?>
</select>
答案 0 :(得分:4)
来自MySQL manual:
有几种方法可以在字符串中包含引号字符:
引用
“'”
的字符串中的“'”
可以写为“''”
。引用
“"”
的字符串中的“"”
可以写为“""”
。通过转义字符(
“\”
)来引用引号字符。引用
“'”
的字符串中的“"”
无需特殊处理,无需加倍或转义。同样,引用“"”
的字符串中的“'”
无需特殊处理。
在php中编码时,请记住在字符串文字中使用\\
来获取字符串值中的单个\
。
如果要转义HTML属性中的引号,请将'
替换为"
。或者,使用"
引用属性值。无论字符串值来自何处,都可以使用这些技术。请参阅this thread。