在mysql内爆期间,是否可以在字符varialbe周围自动添加引号?

时间:2017-06-07 14:35:48

标签: mysql

这是..

Foreach ($data as $x) {

$mydata =  implode( ", ", $x);

$sql = "INSERT INTO `wp_realty_listingsdb` (`listingsdb_id`, `user_id`, 
`class_id`, `MLS`, `DOM`, `Zip`, `Status`) VALUES($id, 1, 1, $mydata);";

echo "$sql<br>";

$id++;

}

请记住,这是一个简化的示例,将有超过200个字段被插入内爆..所以可能有多达100多个字符变量需要刻度封装,所以如果内爆不会这样做那么它会变得复杂..

End result of echo the resultant sql..
Line 1:
INSERT INTO `wp_realty_listingsdb` (`listingsdb_id`, `user_id`,
`class_id`, `MLS`, `DOM`, `Zip`, `Status`) VALUES(2, 1, 1, 1475566, 626,
 89005, Sold);
Line 2:
INSERT INTO `wp_realty_listingsdb` (`listingsdb_id`, `user_id`, 
`class_id`, `MLS`, `DOM`, `Zip`, `Status`) VALUES(3, 1, 1, 1485995, 492, 
89005, 'Sold');

问题:要使用php插入字符变量,要求它在变量的每一侧都有一个勾号,如第1行中所示的“已售出”,它不会在内爆上打勾。第2行是一个示例我在哪里手动添加了勾号..它工作正常..无论如何有内爆添加任何字符varialbes周围的刻度...没有广泛的额外编程.. 提前谢谢。

1 个答案:

答案 0 :(得分:0)

$xt = array_map(function($x){ return "'$x'";}, $x);
$mydata =  implode( ", ", $xt);

除此之外,代码可能容易受到SQL注入攻击。