2011-08-14 70 views
-2

如何处理SQL查询中的单引号(')和特殊字符(ûü)? 这样,如果我输入fdgbfd'ûü,我的数据库就会精确显示为fdgbfd'ûü作为它的条目。处理SQL查询的单引号和特殊字符

+0

你能给我们一些更多的信息/背景吗? – PeeHaa

+0

发生什么事是,如果我有一个字符串=“ABC”的SQL查询不执行。我不想添加addslashes() –

回答

1

mysql_real_escape_string

mysql_real_escape_string - 字符串中的转义特殊字符用在SQL语句中

$sql = "INSERT INTO table (col) VALUES ('" . mysql_real_escape_string($_POST['input']) . "')"; 

如果你指的是不同的RDBMS,使用字符串避开功能提供通过该数据库的PHP驱动程序。

0
$string = 'fdgbfd\'ûü'; 

$string = "fdgbfd'ûü"; 

你应该确保你使用UTF-8/Unicode编码为两个PHP文件(如果您使用UTF-8值分配给像上面的变量)和数据库。

您应该始终使用mysql_real_escape_string(),mysqli_real_escape_string()或甚至更好地使用PDO准备的语句。 http://php.net/manual/en/pdo.prepared-statements.php