gpt4 book ai didi

php - 有没有办法获取最后插入行的日期?

转载 作者:行者123 更新时间:2023-11-29 06:23:18 26 4
gpt4 key购买 nike

这是我的 table :

CREATE TABLE IF NOT EXISTS `users` (
`id` int(6) unsigned NOT NULL AUTO_INCREMENT,
`mail` varchar(50) NOT NULL UNIQUE,
`password` varchar(30) NOT NULL,
`reg_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

这是我在 php 代码中的查询:

$query = "INSERT INTO `users` (`email`,`psw`) VALUES ('".$email."','".$psw."')";
$_SESSION["id"] = mysqli_insert_id($db_con);
// get the date of this row and put it in $_SESSION["regdate"]

最佳答案

是的,有。稍微更改您的插入语句:

$currentDate=date("Y-m-d H:i:s");//Get current date
$query = "INSERT INTO `users` (`email`,`psw`,`reg_date`) VALUES ('".$email."','".$psw."', '.$currentDate.')";//Save date, email and password to database
$_SESSION["id"] = mysqli_insert_id($db_con);//Get ID of the last row
$_SESSION["regdate"] = $currentDate;//Save it in session

重要

尽管您正在搜索如何将当前日期插入数据库和 $_SESSION 数组,但您遇到了更大的问题。您的插入语句容易受到 SQL 注入(inject)攻击,这意味着您的应用程序存在安全问题。不要使用字符串连接,而是使用 PDO 类和所谓的准备语句。

示例:

$currentDate=date("Y-m-d H:i:s");//Get current date
$sql = "INSERT INTO users SET email=?, psw=?, reg_date = ?";
$q = $conn->prepare($sql);
$q->execute(array($email, $psw, $currentDate));
$_SESSION["id"] = mysqli_insert_id($db_con);//Get ID of the last row
$_SESSION["regdate"] = $currentDate;//Save it in session

它会起作用:)

关于php - 有没有办法获取最后插入行的日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32390674/

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