我如何将数据放入php中的webservice中的url中

时间:2015-07-02 12:15:21

标签: php mysql web-services rest

我第一次在php中使用webservice,我正在使用REST。我在谷歌和博客上搜索很多,但没有找到如何将数据放入在php中发送url的mysql中? 这是我的简单代码 -

<?php

if ($_SERVER['REQUEST_METHOD'] == 'PUT') {

parse_str(file_get_contents("php://input"), $_PUT);

if ($id = $_PUT['id']) {


    $name = $_PUT['name'];

    $id = NULL;

    $email = $_PUT['email'];

    $address = $_PUT['address'];

    $conn = mysqli_connect('localhost', 'root', '', 'webservice');
    //var_dump($conn);
    $sql = "
                UPDATE webservice SET name='$name' , address='$address' , email='$email' WHERE id='$id'
           ";

    if (mysqli_connect_errno()) {


        echo json_encode(array(
            'status' => 'failure',
            'message' => 'Could Not connect to database',
        ));
    }

    $data = mysqli_query($conn, $sql);

    if ($data) {

        echo json_encode(array(
            'status' => 'successful',
        ));
    } else {

        echo json_encode(array(
            'status' => 'failure',
        ));
    }
  }
 }
?>

这是我发送的网址 - REST-PHP / put.php?id = 1&amp; name = webservice&amp; email=email@gmail.com& address = address

因为我是新手,请忽略我的错误......

并提前致谢

1 个答案:

答案 0 :(得分:1)

使用$_GET代替$_PUT,因为您发送的GET请求不是PUT

更新代码:

<?php

if ($_SERVER['REQUEST_METHOD'] == 'GET') {

//parse_str(file_get_contents("php://input"), $_GET);

if ($id = $_GET['id']) {


$name = $_GET['name'];

//$id = NULL; // This is wrong
$id = $_GET['id'];

$email = $_GET['email'];

$address = $_GET['address'];

$conn = mysqli_connect('localhost', 'root', '', 'webservice');
//var_dump($conn);
$sql = "
            UPDATE webservice SET name='$name' , address='$address' , email='$email' WHERE id='$id'
       ";

if (mysqli_connect_errno()) {


    echo json_encode(array(
        'status' => 'failure',
        'message' => 'Could Not connect to database',
    ));
}

$data = mysqli_query($conn, $sql) or die(mysqli_error($conn));

if ($data) {

    echo json_encode(array(
        'status' => 'successful',
    ));
} else {

    echo json_encode(array(
        'status' => 'failure',
    ));
  }
 }
}
?>