类型'String'是一个意外的参数,预计Mysqli [mysqli_real_escape_string]

时间:2017-02-15 13:59:45

标签: php mysql angularjs mysqli

我正在尝试在我的数据库中保留angularjs元素。

我正在使用mySQL和PHP。

  

当我试图坚持时,我得到了这个错误:警告:'dabdsa'的类型   'String'是一个意想不到的论点,预计是Mysqli   [mysqli_real_escape_string]
  警告:功能   'mysqli_real_escape_string'有2个必需参数,但只有1个   提供[mysqli_real_escape_string]

我不知道发生了什么。

我的app.js代码是:

var app = angular.module("TestIdoneidadApp", []);
                app.controller("TIController", ['$scope','$http', function($scope, $http) {
                    $scope.gestor= '';
                    $scope.entidad= ''; 
                    $scope.save=function(){

                        $scope.xml_object = '<?xml version="1.0" encoding="UTF-8" standalone="yes"?><testIdoneidad>';
                        $scope.xml_object += '<gestor>' + $scope.ti.gestor + '</gestor>';
                        $scope.xml_object += '<entidad>' + $scope.ti.entidad + '</entidad>';
                        $scope.xml_object += '</testIdoneidad>';
                        $http.post("insert.php", {'xml_object':$scope.xml_object});
                        }
                }]);

我的insert.php代码是:

<?php header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Headers: Authorization, Content-Type');
header('Access-Control-Allow-Methods: GET, POST, OPTIONS, DELETE');
$servername = "localhost";
$username = "msandbox";
$password = "msandbox";
$dbname = "angular_db";
$port = "5631";
// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname, $port);
// Check connection
if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}
$data = json_decode(file_get_contents("php://input"));
$xml_object = mysqli_real_escape_string($data->xml_object);
$sql = "INSERT INTO test_idoneidad (xml_object)
VALUES ('".$xml_object."')";

if (mysqli_query($conn, $sql)) {
    echo "New record created successfully";
} else {
    echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}
mysqli_close($conn);
?>

与数据库的连接是正确的,如果我尝试在Value中插入类似“test”的内容,则可以正常工作。

有人可以帮助我吗?

谢谢你的建议。

1 个答案:

答案 0 :(得分:0)

将您的代码更改为

$xml_object = mysqli_real_escape_string($conn, $data->xml_object);