我的查询如下:
$this->db->query('INSERT INTO board_member (name, position, address) VALUES (?, ?, ?)', array($name, $position, $address));
名称可能包含双引号,用于昵称,例如:
James" Jimbo"史密斯
但是,如果我插入该值,它会在第一个双引号之前被切断,只留下詹姆斯。我需要做些什么来完成这项工作?
编辑:我已尝试过$ this-> db-> escape_string(),这让我想到了这个:'詹姆斯\
答案 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));`