gpt4 book ai didi

PHP MySQL 更新查询

转载 作者:可可西里 更新时间:2023-11-01 07:50:34 25 4
gpt4 key购买 nike

我有一个有更新查询的网站。示例。

Table name -> myTableTable Content -> id(AI)                 name  --> myName                 age   --> 13                 image --> (no values)                 birthdate  --> (no values)

我只在nameage 中赋值。在imagebirthdate中,我什么都没放。
如果我编辑和更新它并且我没有在nameage 中添加任何内容,我只在image 和<强>生日 。输出是这样的。 (我想要的输出)

Table name -> myTableTable Content -> id(AI)                 name  --> myName                 age   --> 13                 image --> myImage.jpg                 birthdate  --> Feb. 31, 2010


这是我的代码:

<?php  //mysql connect...  //mysql select database...$sql = "UPDATE myTable SET name = '".$name."', age = '".$age."', image = '".$image."', birthdate"'$birthdate.."' WHERE id = $id";mysql_query($sql);?>

我使用了这段代码,但输出是:

Table name -> myTableTable Content -> id(AI)                 name  --> (no values)                 age   --> (no values)                 image --> myImage.jpg                 birthdate  --> Feb. 31, 2010


如果您不明白我的问题,请随时提问
谢谢

最佳答案

如果您不在 UPDATE 语句中包含新值,

UPDATE 会保留列。

因此,您可能需要使用一些检查用户输入内容的条件代码构建 $sql 变量,然后仅在用户为其提供值时包含一列。

<?php

$columns = array("name", "age", "image", "birthdate");
$set = array();
foreach ($columns as $col) {
if (isset($_GET[$col])) {
$set[] = "$col = '" . mysql_real_escape_string($_GET[$col]) . "'";
}
}
$sql = "UPDATE myTable "
if ($set) {
$sql .= " SET " . implode(",", $set);
}
$sql .= " WHERE id = " . (int) $id;

关于PHP MySQL 更新查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2954235/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com