Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何将一条信息插入到已存在的记录中?_Php_Mysql_Pdo_Insert - Fatal编程技术网

Php 如何将一条信息插入到已存在的记录中?

Php 如何将一条信息插入到已存在的记录中?,php,mysql,pdo,insert,Php,Mysql,Pdo,Insert,我有一个SQL数据库设置,其中已经有行数据。如何通过获取id(appointspage.php?id=1)来更新一行中的一列 我已经编写了将数据输入到所需的正确位置表的代码,但是我在选择id时也遇到了问题 if(isset($_POST["submit"])) try{ $sql = "INSERT INTO appointments (Notes) VALUES ('".$_POST["Notes"]."')"; 我觉得应该使用=$\u GET['id'];或WHERE appoints.A

我有一个SQL数据库设置,其中已经有行数据。如何通过获取id(appointspage.php?id=1)来更新一行中的一列

我已经编写了将数据输入到所需的正确位置表的代码,但是我在选择id时也遇到了问题

if(isset($_POST["submit"]))
try{
$sql = "INSERT INTO appointments (Notes)
VALUES ('".$_POST["Notes"]."')";
我觉得应该使用
=$\u GET['id'];
WHERE appoints.ApptID=:id
,但我无法理解


目前,我的SQL表中的“Notes”列获得了一个输入,但它创建了一个新的空行,只添加了该数据。我想选择一个现有的行/条目并向其中添加注释。

在我的网站上,我有一组基本用例的示例,欢迎您查看。 你的情况会很糟

首先,“插入现有记录”称为UPDATE。您需要查看SQL教科书

是的,在查询中需要像ApptID=:id这样的东西。不过我个人更喜欢简单的?标记

所以应该是这样的

$sql = "UPDATE appointments SET notes=? WHERE ApptID=?";
$stmt= $dpo->prepare($sql);
$stmt->execute([$notes, $id]);

注意三个不应该是任何
尝试
或抓住周围的东西。

在我的网站上,我有一组基本用例的示例,欢迎您查看。 你的情况会很糟

首先,“插入现有记录”称为UPDATE。您需要查看SQL教科书

是的,在查询中需要像ApptID=:id这样的东西。不过我个人更喜欢简单的?标记

所以应该是这样的

$sql = "UPDATE appointments SET notes=? WHERE ApptID=?";
$stmt= $dpo->prepare($sql);
$stmt->execute([$notes, $id]);

注三不应该是任何
尝试
或抓住周围的东西。

您需要在数据库定义中将ApptID字段定义为主键,并使用自动递增字段。

在MySQL中,主键是唯一定义记录的单个字段或字段组合。作为主键一部分的任何字段都不能包含空值值。一个表只能有一个主键。

自动递增允许在将新记录插入表时自动生成唯一的数字。通常,这是我们希望在每次插入新记录时自动创建的主键字段。


之后,您可以使用该ApptID在MySQL中使用更新查询更新现有数据。您需要将ApptID字段定义为主键,并在数据库定义中使用自动增量字段。

在MySQL中,主键是唯一定义记录的单个字段或字段组合。主键中没有任何字段键可以包含空值。表只能有一个主键。

自动递增允许在将新记录插入表时自动生成唯一的数字。通常,这是我们希望在每次插入新记录时自动创建的主键字段。


之后,您可以使用该ApptID在MySQL中使用update query更新现有数据

您的意思是SQL的更新吗?是SQL命令。还要注意,在学习SQL和php时,一定要找到最新的教程。我建议使用pdo而不是mysqli,并且一定要使用准备好的语句。您的代码是不安全的(查询应如下所示:
更新约会集注释=?其中I'd=?
是用户输入的占位符。)谢谢!我现在不知道如何在我的用户输入区域“注释”中指出这一点。你是说SQL的更新吗?是SQL命令。还要注意,在学习SQL和php时,一定要找到最新的教程。我建议使用pdo而不是mysqli,并且一定要使用准备好的语句。你的代码是不安全的(查询应如下所示:
更新约会集注释=?其中I'd=?
是用户输入的占位符。)谢谢!我现在不知道如何在我的用户输入区“Notes”中指出这一点。谢谢你,这几乎正是我需要的。我现在意识到我没有添加,我需要的输入来自用户填写一个名为Notes的文本框(我们称之为txtNotes以避免混淆)。我尝试了类似这样的方法
$sql=”更新约会集笔记=(““$\u POST[“Notes”]。”)WHERE appoints.ApptID=:id”
但它不起作用。你能进一步建议吗?谢谢你,这几乎正是我需要的。我现在意识到,我不需要添加输入,我需要用户填写一个名为Notes的文本框(我们称之为txtNotes以避免混淆)。我尝试过类似这样的方法,
$sql=“更新约会设置注释=(“.”“$\u POST[“Notes”]。”)WHERE appoints.ApptID=:id”
,但不起作用。您能进一步建议吗?