我是php的新手,我正在尝试为我的移动后端创建一个REST API。我使用aws EC2并在我的EC2实例上存储了以下php文件。但无论如何,这是代码:
<?php include "FILE WITH DB INFO"; ?>
<?php
$connection = mysqli_connect(DB_SERVER, DB_USERNAME, DB_PASSWORD);
if (mysqli_connect_errno()) echo "Failed to connect to MySQL" . mysqli_connect_error();
$database = mysqli_select_db($connection, DB_DATABASE);
$user_username = $_POST['username'];
$user_name = $_POST['name'];
$user_email = $_POST['email'];
echo "BEFORE --- ";
var_dump($_POST);
echo "AFTER";
if (strlen($user_username) || strlen($user_name) || strlen($user_email)) {
AddUser($connection, $user_username, $user_name, $user_email);
}
function AddUser($connection, $username, $name, $email) {
$u = mysqli_real_escape_string($connection, $username);
$n = mysqli_real_escape_string($connection, $name);
$e = mysqli_real_escape_string($connection, $email);
$query = "INSERT INTO 'users' ('username', 'name', 'email') VALUES ('$u', '$n', '$e');";
if(!mysqli_query($connection, $query)) echo("ERROR ADDING USER DATA");
}
function VerifyUsersTable($connection, $dbName) {
if(!TableExists("users", $connection, $dbName))
{
$query = "CREATE TABLE 'users' (
'name' varchar(255),
'username' varchar(255),
'email' varchar(255),
PRIMARY KEY ('username')
)";
if(!mysqli_query($connection, $query)) echo("ERROR CREATING TABLE");
}
}
echo "MADE IT";
?>
我的问题是var_dump($_POST);
返回一个如下所示的空数组:array(0) { }
。即使我传递三个这样的参数,也会发生这种情况:
PARAMS:
?username=TestUser&name=TestName&email=TestEmail
实际使用的请求:
http://my_ec2_instance/Test.php?username=TestUser&name=TestName&email=TestEmail
我做错了什么?
编辑:邮差画面的图片 POSTMAN SCREEN答案 0 :(得分:3)
此请求:
http://my_ec2_instance/Test.php?username=TestUser&name=TestName&email=TestEmail
是GET
请求,而不是POST
。
访问:$_GET['name']
答案 1 :(得分:1)
你应该使用$ _GET []。并打印所有$ _GET varaiables尝试:
print_r($_GET);
答案 2 :(得分:0)