我的MySQLi/PHP代码有问题吗?
我对所有这些MySQLi都是新手,我似乎找不到任何对我有用的信息。。我尝试了以下代码,但无效:我的MySQLi/PHP代码有问题吗?,php,mysqli,Php,Mysqli,我对所有这些MySQLi都是新手,我似乎找不到任何对我有用的信息。。我尝试了以下代码,但无效: if(isset($_GET['submit'])) { $stamp = date("D M d, Y G:i a"); $mysqli->query("INSERT INTO down (timestamp, username) VALUES ('" . $stamp . "', '" . USER_NAME . "')"); } 我不知道我做错了什么,所以也许有一
if(isset($_GET['submit']))
{
$stamp = date("D M d, Y G:i a");
$mysqli->query("INSERT INTO down (timestamp, username) VALUES ('" . $stamp . "', '" . USER_NAME . "')");
}
我不知道我做错了什么,所以也许有一些见解?或者如果有人能给我推荐一些网站,那就太好了?因此,对我来说似乎什么都不管用
HTML是:
<form method="post">
<b>Submit a downtime report*</b>: <input type="submit" name="submit" value="Report">
</form>
提交停机报告*:
至于有用的资源,您是否尝试过官方文档
它似乎相当全面 将此更改为
$mysqli->query("INSERT INTO down (timestamp, username) VALUES ('" . $stamp . "', '" . USER_NAME . "')");
到
原因:timestamp
也是SQL中的类型,因此您应该这样使用它。您不必在PHP中使用date()函数。您可以在MySQL中使用NOW()或CURRENT_TIMESTAMP()
你可以找到更多的日期函数
我猜USER_NAME是一个常量,它已经设置好了 “timestamp”是MySQL关键字,因此被解释为数据类型而不是列名,因此语法没有任何意义。可以通过使用反勾号转义列名来解决此问题。顺便说一句,这对于所有表名和列名都是一个很好的实践,不管它们是否是关键字。因此,按以下方式更改查询应该是可行的:
$mysqli->query("INSERT INTO `down` (`timestamp`, `username`) VALUES ('" . $stamp . "', '" . USER_NAME . "')");
你在提交表格吗?如果是这样,请分享html也。也让你的问题更清楚。您面临的问题是什么?请尝试此日期格式,而不是date('Y-m-dh:i:s')代码>如果您可以编辑数据库结构,最好的方法可能是将当前时间戳设置为默认值user\u NAME确实已设置。
$mysqli->query("INSERT INTO down (`timestamp`, `username`) VALUES (NOW(), '" . USER_NAME . "')");
$mysqli->query("INSERT INTO `down` (`timestamp`, `username`) VALUES ('" . $stamp . "', '" . USER_NAME . "')");