以下是我的插入代码的外观:
$values .= ($ta->account_toll_free_number != '') ? ",('" . $post_id . "', 'toll_free_number','" . $ta->account_toll_free_number . "')" : NULL;
这给了我:
(111, 'toll_free_number', '888-123-1234')
在变量中有单引号之前,哪种方法很有效。然后就打破了。有没有我可以在此之前清理/逃脱它?我只需要将单引号换成双引号吗?
答案 0 :(得分:1)
$values = mysql_real_escape_string("(111, 'toll_free_number', '888-'123-1234')");
$query = "INSERT INTO yourtable (fieldname) values ('".$values."')";
mysql_query($query) or die(mysql_error());
请参阅手册http://php.net/manual/en/function.mysql-real-escape-string.php
中的更多内容答案 1 :(得分:0)
正如评论者指出的那样,我建议您使用PDO,因为这是一个逃避问题,并为您打开SQL注入漏洞。在您使用mysql_ *的更改中,首先尝试使用mysql_real_escape_string()转义变量。