Jag har prövat att ändra fälttyp från VARCHAR till TEXT utan hjälp ..
Jag tror ( och har för mig ) att detta har något med UTF8 och liknande att göra,
men kommer inte på vad det är ...
<?php
echo get_magic_quotes_gpc(); // 1
echo $_POST['lastname']; // O\'reilly
echo addslashes($_POST['lastname']); // O\\\'reilly
if (get_magic_quotes_gpc()) {
$lastname = stripslashes($_POST['lastname']);
}
else {
$lastname = $_POST['lastname'];
}
// If using MySQL
$lastname = mysql_real_escape_string($lastname);
echo $lastname; // O\'reilly
$sql = "INSERT INTO lastnames (lastname) VALUES ('$lastname')";
?>
Alltså: Först kolla om magic quotes är påslaget. Om det är det, ta bort backslasharna. Kör sedan mysql_real_escape_string (eller dylikt) för att undvika SQL-injektioner. Vilket var anledningen till att magic quotes uppfanns, men dock kom man senare på att det dels inte hjälpte säkerheten såpass mycket och dels att det skpade irritation. Så fr.o.m. PHP 5.3 så är funktionen borttagen. Och dessutom kan det vara avstängd av webbhotellet. Därav behovet att kolla om funktionen är aktiv.