douqianbiao4216 2016-09-26 06:41
浏览 68
已采纳

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

Something strange happen, I pass insert data from angular controller to php file. Next, php file is inserting data into MySQL database. All the data is successfully inserted. However once I click on button two record is inserted into MySQL database. One will the empty data is inserted and second is the data I entered from UI. The following is my code:

Javascript controller Code:

.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 Code

<?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
";
    }else { 
        die('Could not edit data');
    }
?>

Here is my database outcome

enter image description here

  • 写回答

1条回答 默认 最新

  • doulun5683 2016-09-26 08:17
    关注
    $sql = "INSERT INTO use_directory (user,email,pass) VALUES ( '$user','$email', '$pass')" ;
    if(mysqli_query($conn, $sql)){
       echo "Add successfully
    ";
    }else{
       die('Could not edit data');
    }
    

    Have you tried like this? Hope it helps :)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 R语言Rstudio突然无法启动
  • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
  • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
  • ¥15 用windows做服务的同志有吗
  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值