用户会将信息添加到文本框中。 当他们单击"发送"时,将使用以下 PHP 代码将信息添加到数据库表中:
$sql = "INSERT INTO mytable (id, number, date)
VALUES ('', '$_POST[number]', 'date(1)')";
"id"是来自phpmyadmin设置的自动id,因此将其留空。我希望当前日期也显示在表中。
我虽然通过输入 date(1( 来获取日期会起作用,但似乎没有。 有什么想法吗?
我在phpmyadmin中设置了日期列以接收日期。因此,当我将代码设置为:
$sql = "INSERT INTO mytable (id, number, date)
VALUES ('', '$_POST[number]', '')";
它只是在我的表中给了我 0000-00-00。 有什么想法可以解决这个问题吗?所以我可以得到当前日期?
使用Mysql
NOW()
:-
$sql = "INSERT INTO mytable (number, date) VALUES ('".$_POST['number']."', NOW())";//check the quotes too
注意:-
1.我希望id
是PRIMARY AUTO-INCREMENTED
值,所以没有必要传递它。
2.此外,此代码容易受到 SQL 注入的攻击.读取PHP
mysqli_*
或PDO
以及prepared statements
以防止它。
通过将其括在单引号中,您实际上是在传递一个字符串值。 您可以使用 MYSQL now(( 或为列设置默认值,以便在未提供日期时自动提供日期。
$sql = "INSERT INTO mytable (number, date)
VALUES ('". $_POST['number'] ."', NOW())";
请注意$_POST['number']
周围的引号,因为这也可以回到上述问题。 您要确保正确转义值,否则将传递字符串而不是所需的值。