我第一次在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
因为我是新手,请忽略我的错误......
并提前致谢
答案 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',
));
}
}
}
?>