Include single quote to string

丶灬走出姿态 提交于 2020-01-11 09:42:10

问题


I want to have a dropdown from MySQL data where I want <option value ='and acode ='Aircraft1''>, including the two single quotes to pass it into a query. I'm including backslash already but it's not working. What's wrong with my code?

<?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>

回答1:


From the MySQL manual:

There are several ways to include quote characters within a string:

  • A “'” inside a string quoted with “'” may be written as “''”.

  • A “"” inside a string quoted with “"” may be written as “""”.

  • Precede the quote character by an escape character (“\”).

  • A “'” inside a string quoted with “"” needs no special treatment and need not be doubled or escaped. In the same way, “"” inside a string quoted with “'” needs no special treatment.

When coding in php, remember to use \\ in a string literal to get a single \ in the string value.

If you want to escape the quote in an HTML attribute, replace the ' with &quot;. Alternatively, quote the attribute value with ". These are the techniques to use regardless of where the string value came from. See this thread.



来源:https://stackoverflow.com/questions/16826293/include-single-quote-to-string

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!