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

jak uniknout vstupu, ale uložit bez kódování do databáze

NEPOUŽÍVEJTE addslashes používáte příslušnou specifickou escapovací funkci DB, jako je mysql_real_escape_string .

pokud používáte PDO, pak použití připraveného příkazu unikne proměnným jako součást procesu vazby. V tomto případě vše, co musíte udělat, je něco jako:

$pdo = new PDO($dsn, $user, $name);
$stmt = $pdo->prepare('INSERT INTO your_table (col1, col2,col3) VALUES (?, ?, ?)');
$stmt->execute(array('value 1', 'value 2', 'value 3');

NEBO pro lepší čitelnost a snadnější opětovné použití můžete použít pojmenované parametry:

$pdo = new PDO($dsn, $user, $name);
$stmt = $pdo->prepare('INSERT INTO your_table (col1, col2,col3) VALUES (:col1, :col2, :col3)');
$stmt->execute(array(':col1' =>'value 1', ':col2' =>'value 2', ':col3' =>'value 3');


  1. mysql, změnit sloupec odebrat primární klíč a automaticky zvýšit

  2. Podporuje některý ovladač JDBC příkaz LOAD DATA INFILE sql?

  3. Jak formátovat datum a čas v MySQL

  4. Vícenásobný výběrový dotaz PHP PDO konzistentně vynechává poslední sadu řádků