PHP可以通过json_decode()函数来接收JSON数据,并将其插入数据库。我们需要将JSON数据解析成PHP变量:
$json = '{"name":"John Doe","age":30,"city":"New York"}'; $data = json_decode($json);
我们可以使用PHP的mysqli扩展来插入数据库:
$mysqli = new mysqli("localhost", "my_user", "my_password", "my_database"); $name = $mysqli->real_escape_string($data->name); $age = $mysqli->real_escape_string($data->age); $city = $mysqli->real_escape_string($data->city); $query = "INSERT INTO users (name, age, city) VALUES ('$name', '$age', '$city')"; $mysqli->query($query);
也可以使用PDO扩展来插入数据库:
$pdo = new PDO("mysql:host=localhost;dbname=my_database", "my_user", "my_password"); $name = $pdo->quote($data->name); $age = $pdo->quote($data->age); $city = $pdo->quote($data->city); $query = "INSERT INTO users (name, age, city) VALUES ($name, $age, $city)"; $pdo->exec($query);
使用PDO时,需要注意使用quote()方法来转义特殊字符,以防止SQL注入攻击。
我们也可以使用PHP的PDOStatement类来插入数据库:
$pdo = new PDO("mysql:host=localhost;dbname=my_database", "my_user", "my_password"); $name = $pdo->quote($data->name); $age = $pdo->quote($data->age); $city = $pdo->quote($data->city); $query = "INSERT INTO users (name, age, city) VALUES (:name, :age, :city)"; $stmt = $pdo->prepare($query); $stmt->execute(array(':name' => $name, ':age' => $age, ':city' => $city));
使用PDOStatement类时,需要注意使用prepare()方法来预处理SQL语句,以防止SQL注入攻击。
以上就是PHP接收JSON数据并将其插入数据库的方法。