Ionic Angular将数据传递给PHPfile并插入MySQL数据库

时间:2016-09-26 06:41:13

标签: javascript php mysql angularjs ionic-framework

发生了一些奇怪的事情,我将插入数据从角度控制器传递到php文件。接下来,php文件将数据插入MySQL数据库。所有数据都已成功插入。但是一旦我点击按钮,两条记录就插入到MySQL数据库中。一个是插入空数据,另一个是我从UI输入的数据。以下是我的代码:

Javascript控制器代码:

.controller('registerController',['$scope', '$stateParams', '$state', '$http', function($scope, $stateParams, $state, $http){
    var userInformation = [];
    $scope.registration = {};
    console.log($stateParams.all);

    $scope.doRegister = function () {
        if( $scope.registration.pasword !== $scope.registration.confirmpassword){
                alert("Password not match");
        }
    $http({
        url: "http://localhost/php/chat.php",
        method: "POST",
        data: {
            'username': $scope.registration.username,
            'email': $scope.registration.emailaddress,
            'password': $scope.registration.pasword
        }
    }).success(function(response) {
        console.log(response);
    }).error(function(response) {
        console.log(response);
    });
        $state.go('login', {userInformation : userInformation});
    };
    $scope.goBack = function() {
        $state.go('login');
  }
}])

PHP代码

<?php
    header("Access-Control-Allow-Origin: *");
    header("Access-Control-Allow-Credentials: true");
    header("Access-Control-Allow-Methods: POST, GET, OPTIONS");
    header("Access-Control-Allow-Headers: Content-Type, Authorization, X-Requested-With");

    $postdata = file_get_contents("php://input");
    $request = json_decode($postdata);
    $user = $request->username;
    $email = $request->email;
    $pass = $request->password;

    $servername = "localhost";
    $username = "jack";
    $password = "1234";
    $dbname = "chat";
    $conn = new mysqli($servername, $username, $password, $dbname);

    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    }

    $sql = "INSERT INTO use_directory VALUES ('', '$user', '$email', '$pass');" ;
    $retval = $conn->multi_query($sql);

    if( $retval === TRUE) {
        echo "Add successfully\n";
    }else { 
        die('Could not edit data');
    }
?>

这是我的数据库结果

enter image description here

1 个答案:

答案 0 :(得分:1)

$sql = "INSERT INTO use_directory (user,email,pass) VALUES ( '$user','$email', '$pass')" ;
if(mysqli_query($conn, $sql)){
   echo "Add successfully\n";
}else{
   die('Could not edit data');
}
你试过这样的尝试吗?希望它有所帮助:)