如何从 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: *");
我尝试使用 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: *");