Php无法将带撇号的Json数据插入数据库
我有一些从外部url检索的json数据。我正在存储数据,但似乎忽略了带有撇号“Tes't2”的值。我见过有人说要逃避这一点,但我不知道如何做到这一点。我是个疯子。谢谢 这是我的phpPhp无法将带撇号的Json数据插入数据库,php,mysql,json,mysqli,Php,Mysql,Json,Mysqli,我有一些从外部url检索的json数据。我正在存储数据,但似乎忽略了带有撇号“Tes't2”的值。我见过有人说要逃避这一点,但我不知道如何做到这一点。我是个疯子。谢谢 这是我的php $filename = "http://www.someurl.com/data.json"; $data = file_get_contents($filename); $array = json_decode($data, true); foreach($array as $row) {
$filename = "http://www.someurl.com/data.json";
$data = file_get_contents($filename);
$array = json_decode($data, true);
foreach($array as $row)
{
$sql = "INSERT INTO table_popular_items(rank, name) VALUES (
'".$row["rank"]."',
'".$row["name"]."'
)";
mysqli_query($connect, $sql);
}
下面是data.json
[
{
"rank": 1,
"name": "Test1"
},
{
"rank": 2,
"name": "Tes't2"
},
{
"rank": 3,
"name": "Test3"
}
]试试这个:
$sql = "INSERT INTO `table_popular_items`(`rank`, `name`) VALUES (
'".$row["rank"]."',
'".addslashes($row["name"])."'
)";
使用
mysqli\u real\u escape\u字符串($con,$YOUR\u变量)代码>应该可以工作
Doc:使用准备好的查询,不要将变量连接到查询中。请看这里:和这里: