sql >> Databáze >  >> RDS >> Mysql

Použití hodnoty Apostrof v MySQL ENUM, která vyplní pole se seznamem HTML pro vyhledávání v databázi

Část 1 může být docela snadná:'a''b' je alternativou pro 'a\'b' a tedy znamená totéž. Uživatelské rozhraní si je jisté, že v dotazech bude vrácen správný řetězec, na rozdíl od definice tabulky.

Pro část 2 vám Nedret Recep dala správnou odpověď. Navíc by mě zajímalo jak

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

může někdy vést k

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

. Spíš bych očekával

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

což je zjevně špatně, ale lze to vyřešit pomocí htmlspecialchars() .

EDIT:Našel jsem možné vysvětlení:zde může být viněn analyzátor HTML prohlížeče. S

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

Dostávám Firefox

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

s možností a a

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

s možností b . Ale je to po analýze a opětovném sestavení a zjevně to není kód generovaný PHP. A dokonce i potom, kde je en axcess ' v <option value="Robin" s'=""> .



  1. Příkazy SQL Chyba v kódu java pomocí Intellij a DB Navigator

  2. PostgreSQL role drop selže kvůli výchozím oprávněním

  3. Dotaz MySQL vyhledá hodnoty v řetězci odděleném čárkou

  4. Možné důsledky zvýšení délky varchar v MySql?