我正在尝试创建一个带有php后端的Angular应用程序,现在我遇到了一个问题。我有一个php代码,我将把它粘贴在这里。
<?php
$textdata = '{"contact_firstname":"Daniel","contact_lastname":"Pacuraru","contact_email":["pacurarudaniel@gmail.com","hello@pacurarudaniel.com"]}';
$json = json_decode($textdata, true);
//$json = json_decode(file_get_contents('php://input'), true);
$dbhost = "localhost";
$dbport = "5432";
$dbname = "fixevents";
$dbuser = "postgres";
$dbpass = "123";
$connect = pg_connect("host=" . $dbhost . " port=" . $dbport . " dbname=" . $dbname . " user=" . $dbuser . " password=" . $dbpass);
$query = "INSERT INTO contact (contact_firstname, contact_lastname, contact_email) VALUES ('" . addslashes($json['contact_firstname']) . "', '" . addslashes($json['contact_lastname']) . "', '" . addslashes(implode(',,,', $json['contact_email'])) . "') RETURNING contact_id";
$result = pg_query($connect, $query);
$row = pg_fetch_array($result);
$json_item = 'contact_id' => addslashes($row['contact_id']);
array_push($json, $json_item);
echo json_encode($json);
?>
现在,我向其添加了一个静态 json 作为输入数据。我看到 angular 在 http get 和 post 之后返回一个值,所以我想要实现的是返回带有添加到数据库中的 ID 的 json。我用 SQL 返回contact_id重新运行这个 id,我想将其插入 json 中,但我不知道如何。将该项插入 json 后,我希望它看起来像这样
{"contact_id":"1","contact_firstname":"Daniel","contact_lastname":"Pacuraru","contact_email":["pacurarudaniel@gmail.com","hello@pacurarudaniel.com"]}
实际上,将"contact_id":"1"
添加到 json 中。谢谢你,丹尼尔。
它对我有用。
<?php
$textdata = '{"contact_firstname":"Daniel","contact_lastname":"Pacuraru","contact_email":["pacurarudaniel@gmail.com","hello@pacurarudaniel.com"]}';
/*
Finding contact_id ...
$contact_id = 1; // example
*/
$contact_id = 1;
$json = json_decode($textdata,true);
$json = array('contact_id'=>addslashes($contact_id)) + $json;
echo json_encode($json);
结果 :
{"contact_id":"1","contact_firstname":"Daniel","contact_lastname":"Pacuraru","contact_email":["pacurarudaniel@gmail.com","hello@pacurarudaniel.com"]}
根据您的代码:
<?php
$textdata = '{"contact_firstname":"Daniel","contact_lastname":"Pacuraru","contact_email":["pacurarudaniel@gmail.com","hello@pacurarudaniel.com"]}';
$json = json_decode($textdata, true);
//$json = json_decode(file_get_contents('php://input'), true);
$dbhost = "localhost";
$dbport = "5432";
$dbname = "fixevents";
$dbuser = "postgres";
$dbpass = "123";
$connect = pg_connect("host=" . $dbhost . " port=" . $dbport . " dbname=" . $dbname . " user=" . $dbuser . " password=" . $dbpass);
$query = "INSERT INTO contact (contact_firstname, contact_lastname, contact_email) VALUES ('" . addslashes($json['contact_firstname']) . "', '" . addslashes($json['contact_lastname']) . "', '" . addslashes(implode(',,,', $json['contact_email'])) . "') RETURNING contact_id";
$result = pg_query($connect, $query);
$row = pg_fetch_array($result);
$json_item = array('contact_id' => addslashes($row['contact_id']));
$json = $json_item + $json;
echo json_encode($json);
?>
删除行:
$json_item = 'contact_id' => addslashes($row['contact_id']);
array_push($json, $json_item);
添加行:
$json_item = array('contact_id' => addslashes($row['contact_id']));
$json = $json_item + $json;
它将获得第一个索引的contact_id。但是,如果您希望它在最后一个索引上,请忽略上面的行并执行以下操作:
$json['contact_id'] = addslashes($row['contact_id'])