gpt4 book ai didi

php - mysql插入不同的值

转载 作者:行者123 更新时间:2023-11-29 14:03:00 27 4
gpt4 key购买 nike

$insert = mysql_query("
INSERT into analytics.pagesummary (Date, avg_load_time, min_load_time, max_load_time)
VALUES ($date,$string_avg, $string_min,$string_max)" )
or die('PROBLEM'.mysql_error());

实际日期值 = '2013-02-07'、'2013-02-08'、'2013-02-09'触发查询后数据库中的日期值 = '2004', '2003', '2002'

显示的其他值 avg_load_timemin_load_timemax_load_time 是正确的。

我们哪里出了问题。任何帮助将不胜感激。

最佳答案

因为这些值没有用单引号括起来,并且 mysql 隐式地默默地转换这些值,所以应该是

INSERT INTO analytics.pagesummary (Date, avg_load_time, min_load_time, max_load_time) 
VALUES ('$date', '$string_avg', '$string_min', '$string_max')

2013-02-07插入后变成2004的原因是它执行算术运算,使得

2013 - 02 = 2011 - 07 = 2004
2013 - 02 = 2011 - 08 = 2003
2013 - 02 = 2011 - 09 = 2002

作为旁注,该查询容易受到 SQL Injection 的影响。如果变量的值(s)来自外部。请查看下面的文章,了解如何预防这种情况。通过使用 PreparedStatements,您可以摆脱在值周围使用单引号的情况。

关于php - mysql插入不同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14785918/

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