Warning : mysqli_real_escape_string() expects parameter 2 to be string, array given in C:\xampp\htdocs\nav\php\pinsert.php
I get the above error when I try to post array to php using http.post in angularjs. What is the code to send array to php and insert it into database.
app.js
$scope.saveRecord = function (newProduct)
{
$scope.albumNameArray = [];
angular.forEach($scope.check, function(album){
if (album.select) $scope.albumNameArray.push(album.name);
});
$http.post("php/pinsert.php",{
'names' : $scope.newProduct.name,
'catg' : $scope.newProduct.catg,
'stat' : $scope.newProduct.stat,
'tag' : $scope.albumNameArray
})
PHP
<?php
$connect = mysqli_connect("localhost", "root", "","user");
$data = json_decode(file_get_contents("php://input"));
$p_name = mysqli_real_escape_string($connect, $data->names);
$p_catg = mysqli_real_escape_string($connect, $data->catg);
$status = mysqli_real_escape_string($connect, $data->stat);
$tag = mysqli_real_escape_string($connect, $data->tag);
$query = "INSERT INTO products(pname,pcatg,status,tag) VALUES ('$p_name','$p_catg','$status','$tag')";
$result = mysqli_query($connect, $query) ;
if($result == TRUE)
{
echo "Data Inserted...";
}
else
{
echo 'Error';
}
?>
print_r($data)