sql >> Database >  >> RDS >> Mysql

Apostrof gebruiken in MySQL ENUM-waarde die de HTML-combobox zal vullen voor zoeken in databases

Deel 1 is misschien vrij eenvoudig:'a''b' is een alternatief voor 'a\'b' en betekent dus hetzelfde. De gebruikersinterface weet zeker dat in query's de juiste tekenreeks wordt geretourneerd, in tegenstelling tot de tabeldefinitie.

Voor deel 2 heeft Nedret Recep u het juiste antwoord gegeven. Bovendien vraag ik me af hoe

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

kan ooit resulteren in

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

. Ik verwacht liever

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

wat duidelijk fout is, maar kan worden opgelost met htmlspecialchars() .

EDIT:Ik heb een mogelijke verklaring gevonden:de HTML-parser van de browser zou hier de schuld kunnen zijn. Met

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

Ik krijg met Firefox

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

met optie a en

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

met optie b . Maar het is na het ontleden en opnieuw samenstellen en is duidelijk niet de door PHP gegenereerde code. En zelfs dan, waar is en axcess ' in <option value="Robin" s'=""> .



  1. Drie tabellen samenvoegen met MySQL

  2. Trigger om alleen te activeren als aan een voorwaarde is voldaan in SQL Server

  3. MySQL-query met alias die geen index gebruikt

  4. Probleem Verbinding maken met sql-server Inloggen mislukt. De login is van een niet-vertrouwd domein en kan niet worden gebruikt met Windows-verificatie