需要插入可能有双引号的字符串

时间:2015-08-13 04:35:21

标签: php codeigniter

我的查询如下:

$this->db->query('INSERT INTO board_member (name, position, address) VALUES (?, ?, ?)', array($name, $position, $address));

名称可能包含双引号,用于昵称,例如:

  

James" Jimbo"史密斯

但是,如果我插入该值,它会在第一个双引号之前被切断,只留下詹姆斯。我需要做些什么来完成这项工作?

编辑:我已尝试过$ this-> db-> escape_string(),这让我想到了这个:

  

'詹姆斯\

2 个答案:

答案 0 :(得分:3)

始终将HTML标记属性括在引号中 在HTML标记属性中使用PHP变量时,始终使用htmlspechialchars()。

答案 1 :(得分:-2)

使用mysql_real_escape_string

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

实施例

`$name = mysql_real_escape_string($_POST['name']);

 $position = file_get_contents($_FILE['file']['tmp_name']);

 $address=mysql_real_escape_string($_POST['address]);

 $this->db->query('INSERT INTO board_member (name, position, address) VALUES (?, ?, ?)', array($name, $position, $address));`

Reference