php - 使用 php 将实体添加到数据存储区
问题描述
我正在尝试将实体添加到数据存储区。谁能看到我哪里出错了?我已经能够编辑实体但无法添加实体。
注册.php
require_once __DIR__ . '/vendor/autoload.php';
use Google\Cloud\Datastore\DatastoreClient;
$projectId = "assignment-2-2020";
$datastore = new DatastoreClient([ 'projectId' => $projectId]);
$transaction = $datastore->transaction();
$key = $datastore->key('user');
$task = $transaction->lookup ($key);
$task['Name/ID'] = $_POST['id'];
$task['name'] = $_POST['name'];
$task['password'] = $_POST['password'];
$transaction->update($task);
$transaction->commit();
$_SESSION['username'] = $_POST['name'];
if (!is_null($_POST['name'])) {
echo '<script type="text/javascript">
window.location = "/main.php"
</script>';
}
?>
这是我的数据存储
解决方案
我的解决方案到底!
<?php
$kind = 'user';
$id = $_POST['id'];
$name = $_POST['name'];
$password = $_POST['password'];
require_once __DIR__ . '/vendor/autoload.php';
use Google\Cloud\Datastore\DatastoreClient;
$projectId = "assignment-2-2020";
$datastore = new DatastoreClient([ 'projectId' => $projectId]);
$key = $datastore->key($kind, $id);
$task = $datastore->entity($key, [
'name' => $name,
'password' => $password,
]);
$datastore->insert($task);
$_SESSION['username'] = $_POST['name'];
if (!is_null($_POST['name'])) {
echo '<script type="text/javascript">
window.location = "/main.php"
</script>';
}
?>
推荐阅读
- google-apps-script - 使用 Google Apps 脚本从基于 Google 表格的 Google 日历中删除事件
- javascript - 如何更改时间格式?
- powerbi - 如何在 Wix 上使用 PowerBI API
- numpy - Matplotlib 剪辑或修剪线和多边形
- html - 渐变颜色标记
- azure-synapse - Azure Synapse Link for Dataverse - 如何处理架构演变
- excel - 如果某些列具有值,则复制行并复制到具有重复行的下一个工作表
- python - 如何使用 pip 在没有 root 访问权限的特定目录中安装模块?
- mockswitch - 如何使用 Mockswitch 动态更改响应?
- powershell - 如何通过powershell在Visual Studio 2022中安装(v142)构建工具