如何从 Ionic 移动应用程序连接到 mysql?

How do I connect to mysql from Ionic mobile apps?

我尝试使用 php 将我的离子应用程序连接到 mysql,但它不起作用。 xampp 使用端口 8180 和 ionic 使用端口 8100

.controller('AddController',['$scope','$http',function($scope,$http){
  $scope.enregistrer=function(){
    $scope.responseMessage="pfffff";
    $http.post("http://localhost:8180/add.php",{'nom':$scope.nom,
                          'prenom':$scope.prenom,
                          'email':$scope.email,
                          'adresse':$scope.adresse,
                          'sexe':$scope.sexe,
                          'active':$scope.active}).success(function(data,status,headers,config) {  
                                        $scope.responseMessage = "Successfully Created Account";;
                                      });
 }
}]);

add.php :

if (isset($_SERVER['HTTP_ORIGIN'])) { header("Access-Control-Allow-Origin: {$_SERVER['HTTP_ORIGIN']}"); header('Access-Control-Allow-Credentials: true'); header('Access-Control-Max-Age: 86400'); // cache for 1 day }

// Access-Control headers are received during OPTIONS requests
if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') {

    if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_METHOD']))
        header("Access-Control-Allow-Methods: GET, POST, OPTIONS");         

    if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']))
        header("Access-Control-Allow-Headers:        {$_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']}");

    exit(0);
}
$request=json_decode(file_get_contents("php://input"));
$nom=mysql_real_escape_string($request->nom);
$prenom=mysql_real_escape_string($request->prenom);
$email=mysql_real_escape_string($request->email);
$adresse=mysql_real_escape_string($request->adresse);
$active=mysql_real_escape_string($request->active); 

$con=mysql_connect("localhost","root","") or die(mysql_error());
mysql_select_db("ionicbd",$con);

$query="insert into user(`nom`,`prenom`,`email`,`adresse`) values($nom,$prenom,$email,$adresse)";
$queryRes=mysql_query($query);
if($queryRes) echo "1";
else echo "2";

我得到了响应 "Successfully Created Account" 作为输出,但我无法从应用程序接收数据

我得到的错误:

Notice: Trying to get property of non-object in C:\xampp\htdocs\add.php on line 24

Notice: Trying to get property of non-object in C:\xampp\htdocs\add.php on line 25

Notice: Trying to get property of non-object in C:\xampp\htdocs\add.php on line 26

Notice: Trying to get property of non-object in C:\xampp\htdocs\add.php on line 27

您收到的通知说您的 $request 变量不是对象。必须是数组。

尝试:

$request=json_decode(file_get_contents("php://input"));
$nom=mysql_real_escape_string($request['nom']);
$prenom=mysql_real_escape_string($request['prenom']);
$email=mysql_real_escape_string($request['email']);
$adresse=mysql_real_escape_string($request['adresse']);
$active=mysql_real_escape_string($request['active']); 

问题已解决: 我应该在 add.html 中添加 ng-controller="AddController" 并在我的函数中删除 headers 并在我的 add.php 中删除所有 headers 并只保留 header("Access-Control-Allow-Origin: *");