我有一个SQL数据库安装程序,其中已经有多行数据。如何通过获取id (appointmentspage.php?id=1")来仅更新一行中的一列?
我已经编写了将数据输入到我想要的正确位置表中的代码,但我在选择id时也遇到了问题。
if(isset($_POST["submit"]))
try{
$sql = "INSERT INTO appointments (Notes)
VALUES ('".$_POST["Notes"]."')";我觉得应该使用= $_GET['id'];或WHERE appointments.ApptID = :id,但我无法理解。
目前,我的SQL表中的'Notes‘列获得了一个输入,但它创建了一个新的空行,其中只添加了该数据。我想选择一个现有的行/条目,并在其中添加注释。
发布于 2019-08-14 12:16:51
在我的网站上,我有一组基本用例的示例,欢迎您查看。你的案例应该是UPDATE query using PDO。
首先,“插入到现有记录中”被称为更新。你需要看看你的SQL教科书。
是的,在您的查询中需要类似ApptID = :id的内容。然而,就我个人而言,我更喜欢简单?标记
所以它应该是这样的
$sql = "UPDATE appointments SET notes=? WHERE ApptID=?";
$stmt= $dpo->prepare($sql);
$stmt->execute([$notes, $id]);注意三不应该是任何try或捕获周围的东西。
发布于 2019-08-14 13:34:13
您需要在数据库定义中将ApptID字段定义为具有自动增量字段的主键。
在MySQL中,主键是唯一定义记录的单个字段或字段组合。作为主键一部分的所有字段都不能包含空值。一个表只能有一个主键。
自动递增允许在向表中插入新记录时自动生成唯一编号。通常,这是我们希望在每次插入新记录时自动创建的主键字段。
之后,您可以使用MySQL中的更新查询来使用该ApptID更新现有数据
https://stackoverflow.com/questions/57488010
复制相似问题