php rest api未将数据发布到数据库中

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` -- -- -------------------------------------------

嗨,我正在制作这个简单的PHP REST API,它从数据库中获取记录,但它没有发布、放置(更新)或从mysql中删除任何记录

下面是数据库中两个表的sq,一个是航天器,另一个是武器,我正在尝试将数据发布到航天器表中

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));
}
?>

注释不用于扩展讨论;此对话已结束。评论不用于扩展讨论;这段对话已经结束。