sql >> Databasteknik >  >> RDS >> Mysql

Använder Apostrophe i MySQL ENUM-värde som kommer att fylla HTML-kombinationsrutan för databassökning

Del 1 kan vara ganska lätt:'a''b' är ett alternativ till 'a\'b' och betyder alltså detsamma. Användargränssnittet är säker på att i frågor kommer den korrekta strängen att returneras, i motsats till tabelldefinitionen.

För del 2 har Nedret Recep gett dig rätt svar. Dessutom undrar jag hur

echo "<option value='".$imgClass_row[imgClass]."'>"

någonsin kan resultera i

<option value="Robin" s'="">

. Jag skulle hellre förvänta mig

<option value='Robin's'="">

vilket är helt klart fel, men kan lösas med htmlspecialchars() .

EDIT:Jag har hittat en möjlig förklaring:HTML-tolken av webbläsaren kan skyllas här. Med

<select id="s" onchange="alert(document.getElementById('s').innerHTML + ' value:' + document.getElementById('s').value)">
        <option value='Robin&apos;s'>a</option>
        <option value='Robin's'>b</option>
</select>

Jag använder Firefox

<option value="Robin's">a</option>
<option value="Robin" s="">b</option>
value:Robin's

med alternativet a och

<option value="Robin's">a</option>
<option value="Robin" s="">b</option>
value:Robin

med alternativet b . Men det är efter analys och återmontering och är uppenbarligen inte den PHP-genererade koden. Och även då, var är en axcess ' i <option value="Robin" s'=""> .



  1. MySQL:VÄLJ ut en vinnare och ger tillbaka deras ranking

  2. SQLT och partitionering

  3. MySQL visar alla datum mellan intervallet

  4. hur man förhindrar att man får fel ID