gpt4 book ai didi

php - 如何在php中更新mysql数据库

转载 作者:行者123 更新时间:2023-11-29 06:55:54 24 4
gpt4 key购买 nike

$query="update attendance 
SET
`day1`='$day1', `day2`='$day2', `day3`='$day3', `day4`='$day4',
`day5`='$day5', `day6`='$day6', `day7`='$day7', `day8`='$day8',
`day9`='$day9', `day10`='$day10', `day11`='$day11', `day12`='$day12',
`day13`='$day13', `day14`='$day14', `day15`='$day15', `day16`='$day16',
`day17`='$day17', `day18`='$day18', `day19`='$day19', `day20`='$day20',
`day21`='$day21', `day22`='$day22', `day23`='$day23', `day24`='$day24',
`day25`='$day25', `day26`='$day26', `day27`='$day27', `day28`='$day28',
`day29`='$day29', `day30`='$day30', `day31`='$day31', `accident`='$a1',
`disiplinary`='$d1', `family_death`='$fd1', `family_illness`='$fi1',
`holiday`='$h1', `illness`='$i1', `jury_duty`='$j1', `leave`='$l1',
`layoff`='$lo1', `personal`='$p1', `tardy`='$t1', `vacation`='$v1'
WHERE `month`='January'";

$result=mysql_query($query);

这里更新了day1值(值为1),接下来更新值day2为1,在那段时间 day2 值更新 (1),但 day1 值更改为零。

我在做什么?

最佳答案

您表达查询的方式,所有变量如 $day1 都必须在 PHP 中设置。如果不是,则将一个空字符串粘贴到请求中,然后由 MySQL 服务器将其转换为零。

因此,如果您只想修改 day2,那么就这样做:

UPDATE attendance SET day2 = ? WHERE month = 'January'

也就是说,您可以通过多种方式改进当前的方法。

  • 你不应该使用 mysql_query因为它是deprecated .
  • 您不应直接将变量包含在查询中,因为这会为错误和 SQL 注入(inject)漏洞打开大门。改用 ?provide 等占位符执行此查询时的实际值。
  • 每天只有一列看起来像是一个非常糟糕的数据库架构。取而代之的是每天有一个单行表。您可以根据输出计算月度概览,但通常这样的请求在数据库级别上处理起来要容易得多。如果您希望每个月有一些列,您可以将它们放在一个额外的表中。
  • 您可能应该使用 DATE type沿着刚才描述的路线描述每一天。如果你真的必须有一个每月一行的表,那么你可能仍然使用 DATE 来描述它,使用该月的第一天来标识整个月。这将允许您在该列上轻松使用日期和时间函数。如果您想要单独的年和月列,我想我仍然会按数字而不是名称来标识月份。

关于php - 如何在php中更新mysql数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12724566/

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