php rest api未将数据发布到数据库中
嗨,我正在制作这个简单的PHP REST API,它从数据库中获取记录,但它没有发布、放置(更新)或从mysql中删除任何记录 下面是数据库中两个表的sq,一个是航天器,另一个是武器,我正在尝试将数据发布到航天器表中php rest api未将数据发布到数据库中,php,mysql,api,Php,Mysql,Api,嗨,我正在制作这个简单的PHP REST API,它从数据库中获取记录,但它没有发布、放置(更新)或从mysql中删除任何记录 下面是数据库中两个表的sq,一个是航天器,另一个是武器,我正在尝试将数据发布到航天器表中 SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; SET time_zone = "+00:00"; -- -- Database: `xanda` -- -- -------------------------------------------
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";
--
-- Database: `xanda`
--
-- --------------------------------------------------------
--
-- Table structure for table `spaceCraft`
--
CREATE TABLE `spaceCraft` (
`id` int(11) NOT NULL,
`name` varchar(100) NOT NULL,
`class` varchar(255) NOT NULL,
`crew` int(15) NOT NULL,
`image` varchar(255) NOT NULL,
`value` int(11) NOT NULL,
`status` varchar(100) NOT NULL,
`armament` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
--
-- Dumping data for table `spaceCraft`
--
INSERT INTO `spaceCraft` (`id`, `name`, `class`, `crew`, `image`, `value`, `status`, `armament`) VALUES
(1, 'Devastator', 'Star Destroyer', 35000, 'https:\\\\url.to.image', 2000, 'operational', 0),
(2, 'ROSETTA', 'Galaxy Explorer', 2300, 'http://image.com', 1889, 'Operational', 1);
--
-- Indexes for dumped tables
--
--
-- Indexes for table `spaceCraft`
--
ALTER TABLE `spaceCraft`
ADD PRIMARY KEY (`id`);
--
-- AUTO_INCREMENT for dumped tables
--
--
-- AUTO_INCREMENT for table `spaceCraft`
--
ALTER TABLE `spaceCraft`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=6;
它正在获取数据,但没有发布、更新或删除。这是我的php脚本
<?php
ini_set('display_errors', 'shoutit');
error_reporting(E_ALL);
$request_method = $_SERVER['REQUEST_METHOD'];
$response = array();
// echo $request_method;
// Conditions for determining REQUEST METHOD
switch ($request_method)
{
case "GET":
response(metGet());
break;
case "POST":
response(metPost());
break;
case "DELETE":
response(metDel());
break;
case "PUT":
response(metPut());
break;
}
// Function for get Request
function metGet()
{
if (@$_GET['id'])
{
@$id = $_GET['id'];
$where = "WHERE `id` = " .$id;
}
else
{$id = 0;
$where = "";
}
$dbhost = 'localhost';
$dbname = 'xanda'; // Modify these...
$dbuser = 'root'; // ...variables according
$dbpass = 'root'; // ...to your Database
$con = new mysqli($dbhost, $dbuser, $dbpass, $dbname);
if ($con->connect_error) die($con->connect_error);
$query = "SELECT * FROM spaceCraft " . $where;
$result = $con->query($query);
while($row = $result->fetch_assoc())
{
$response[] = array("id"=>$row['id'],"name"=>$row['name'],"class"=>$row['class'],"crew"=>$row['crew'],"image"=>$row['image'],"value"=>$row['value'],"status"=>$row['status'],"armament"=>$row['armament']);
// print_r($row);
}
return $response;
}
// Function for Post Request
function metPost()
{
// echo "Post Method Called";
if ($_POST)
{
$dbhost = 'localhost';
$dbname = 'xanda'; // Modify these...
$dbuser = 'root'; // ...variables according
$dbpass = 'root'; // ...to your Database
$con = new mysqli($dbhost, $dbuser, $dbpass, $dbname);
// if ($con->connect_error) die($con->connect_error);
$query = "INSERT INTO `spaceCraft`(`id,`name`, `class`, `crew`, `image`, `value`, `status`, `armament`)
VALUES ('".$_POST['id']."','".$_POST['name']."','".$_POST['name']."','".$_POST['class']."','".$_POST['crew']."','".$_POST['image']."','".$_POST['value']."','".$_POST['status']."','".$_POST['arnament']."') or die (mysql_error())";
$result = $con->query($query);
if ($result == true or die($con->error))
{
echo "The Insert ID was: " . $result->insert_id;
$response = array("Success");
}
else
{
$response = array("Failed");
}
}
return $response;
}
// Function for Delete Request
function metDel()
{
if ($_GET['id'])
{
$dbhost = 'localhost';
$dbname = 'xanda'; // Modify these...
$dbuser = 'root'; // ...variables according
$dbpass = 'root'; // ...to your Database
$con = new mysqli($dbhost, $dbuser, $dbpass, $dbname);
if ($con->connect_error) die($con->connect_error);
$query = "DELETE FROM `spaceCraft` WHERE `id` = '".$_GET['id']. "'" ;
$result = $con->query($query);
if ($result == true)
{
$response = array("Success");
}
else
{
$response = array("Failed");
}
}
return $response;
}
// Function for Put Request
function metPut()
{
// echo "Put Method Called";
if ($_POST)
{
$dbhost = 'localhost';
$dbname = 'xanda'; // Modify these...
$dbuser = 'root'; // ...variables according
$dbpass = 'root'; // ...to your Database
$con = new mysqli($dbhost, $dbuser, $dbpass, $dbname);
// if ($con->connect_error) die($con->connect_error);
$query = "UPDATE `spaceCraft` SET `name` = '".$_POST['name']."',
`class` = '".$_POST["class"]."', `crew` '".$_POST["crew"]."', `image` = '".$_POST["image"]."', `value`= '".$_POST["value"]."', `status`= '".$_POST["status"]."' `armament` = '".$_POST["name"]."' WHERE `id` = '" . ($_POST['id']?$_POST['id']:$_GET['id']);
$result = $con->query($query);
if ($result == true)
{
$response = array("Success");
}
else
{
$response = array("Failed");
}
}
return $response;
}
//ENDPOINT
function response($response){
echo json_encode(array("message" => "Success" , "data" =>$response));
}
?>
注释不用于扩展讨论;此对话已结束。评论不用于扩展讨论;这段对话已经结束。