Inclure une seule citation de la chaîne
Je veux avoir une liste déroulante à partir de données MySQL où je veux <option value ='and acode ='Aircraft1''>
, y compris les deux guillemets simples pour passer à une requête. Je suis, y compris barre oblique inverse déjà, mais ça ne fonctionne pas. Quel est le problème avec mon 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>
Tout d'abord vous devez cesser d'utiliser mysql_* est obsolète, alors vous devriez en apprendre davantage sur les instructions préparées pour empêcher l'injection. Utiliser mysqli ou PDO! Et au lieu de
echo "<option value='and acode=\'".$arow['reg']."\''>".$arow['reg']."</option>";
utilisation echo "<option value=\"and acode='".$arow['reg']."'\">".$arow['reg']."</option>";
OriginalL'auteur xjshiya | 2013-05-30
Vous devez vous connecter pour publier un commentaire.
De la Manuel MySQL:
Lors du codage en php, n'oubliez pas d'utiliser
\\
dans un littéral de chaîne pour obtenir un seul\
dans la chaîne de valeur.Si vous souhaitez vous échapper de la citation dans un attribut HTML, remplacer le
'
avec"
. Sinon, la citation de la valeur d'un attribut avec"
. Ce sont les techniques à utiliser, peu importe l'endroit où la chaîne de valeur est de. Voir ce fil.'
dans la chaîne, pas la barre oblique.Ah. Ce n'est pas une base de données MySQL question. J'ai mis à jour ma réponse.
Ne savais pas que
"
existé. Merci beaucoup! 🙂OriginalL'auteur Ted Hopp