Php 如何将一条信息插入到已存在的记录中?
我有一个SQL数据库设置,其中已经有行数据。如何通过获取id(appointspage.php?id=1)来更新一行中的一列 我已经编写了将数据输入到所需的正确位置表的代码,但是我在选择id时也遇到了问题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
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”
,但不起作用。您能进一步建议吗?