如何使 PHP POST 请求在 CRUD API 中作为连接到 MySQL 数据库的层正常工作?
How to make PHP POST request work properly in CRUD API as layer for connecting to MySQL database?
我无法通过 Postman POST 值到数据库。
最近我开始构建 CRUD api 用于练习目的。我发现很少有关于如何使用 PHP 连接到数据库的好教程。我设法用 phpMyAdmin 构建 MySQL 数据库并将其与 PHP 连接。 GET 请求也从数据库返回值:
http://ivanzarkovic.com/movies/fetch_all_movies.php
在 Postman 中我尝试添加
http://ivanzarkovic.com/movies/add_movie.php?movie_name=SomeName&genre=SF&year=2005&rating=4.6
或批量 JSON 形式。
虽然我弄错了数据类型,所以我将数据库中的类型更改为字符串 (VARCHAR),但并没有解决问题。
if(isset($_POST['movie_name'])&&isset($_POST['genre'])&&isset($_POST['year'])&&isset($_POST['rating'])){
$movieName = $_POST['movie_name'];
$genre = $_POST['genre'];
$year = $_POST['year'];
$rating = $_POST['rating'];
//Query to insert a movie
$query = "INSERT INTO movies( movie_name, genre, year, rating) VALUES (?,?,?,?)";
//Some code here
}else{
//Mandatory parameters are missing
$response["success"] = 0;
$response["message"] = "missing mandatory parameters";
}
我希望向数据库提交新条目,但它卡在了 "missing mandatory parameters"。 isset($_POST['movie_name']) 返回 false.
您提供的示例 URL 将数据作为查询参数。
这意味着您应该访问 $_GET
,而不是 $_POST
。
你的代码通过 post 接受数据是正确的,你能分享你的 postman 请求吗?
示例:
if (isset($_GET['movie_name']) && isset($_GET['genre']) && isset($_GET['year']) && isset($_GET['rating'])) {
$movieName = $_GET['movie_name'];
$genre = $_GET['genre'];
$year = $_GET['year'];
$rating = $_GET['rating'];
//Query to insert a movie
$query = "INSERT INTO movies( movie_name, genre, year, rating) VALUES (?,?,?,?)";
//Some code here
} else {
//Mandatory parameters are missing
$response["success"] = 0;
$response["message"] = "missing mandatory parameters";
}
我无法通过 Postman POST 值到数据库。
最近我开始构建 CRUD api 用于练习目的。我发现很少有关于如何使用 PHP 连接到数据库的好教程。我设法用 phpMyAdmin 构建 MySQL 数据库并将其与 PHP 连接。 GET 请求也从数据库返回值: http://ivanzarkovic.com/movies/fetch_all_movies.php
在 Postman 中我尝试添加 http://ivanzarkovic.com/movies/add_movie.php?movie_name=SomeName&genre=SF&year=2005&rating=4.6 或批量 JSON 形式。
虽然我弄错了数据类型,所以我将数据库中的类型更改为字符串 (VARCHAR),但并没有解决问题。
if(isset($_POST['movie_name'])&&isset($_POST['genre'])&&isset($_POST['year'])&&isset($_POST['rating'])){
$movieName = $_POST['movie_name'];
$genre = $_POST['genre'];
$year = $_POST['year'];
$rating = $_POST['rating'];
//Query to insert a movie
$query = "INSERT INTO movies( movie_name, genre, year, rating) VALUES (?,?,?,?)";
//Some code here
}else{
//Mandatory parameters are missing
$response["success"] = 0;
$response["message"] = "missing mandatory parameters";
}
我希望向数据库提交新条目,但它卡在了 "missing mandatory parameters"。 isset($_POST['movie_name']) 返回 false.
您提供的示例 URL 将数据作为查询参数。
这意味着您应该访问 $_GET
,而不是 $_POST
。
你的代码通过 post 接受数据是正确的,你能分享你的 postman 请求吗?
示例:
if (isset($_GET['movie_name']) && isset($_GET['genre']) && isset($_GET['year']) && isset($_GET['rating'])) {
$movieName = $_GET['movie_name'];
$genre = $_GET['genre'];
$year = $_GET['year'];
$rating = $_GET['rating'];
//Query to insert a movie
$query = "INSERT INTO movies( movie_name, genre, year, rating) VALUES (?,?,?,?)";
//Some code here
} else {
//Mandatory parameters are missing
$response["success"] = 0;
$response["message"] = "missing mandatory parameters";
}