gpt4 book ai didi

php - 将curdate插入数据库的问题

转载 作者:搜寻专家 更新时间:2023-10-30 20:22:54 24 4
gpt4 key购买 nike

尝试将当前日期插入 MySQL 数据库时,我一直收到错误消息。我得到了不同列的表格图片。其中之一,picture_upload,应该有上传图片的日期。

一直报错

PDOException: SQLSTATE[21S01]: Insert value list does not match column list: 
1136 Column count doesn't match value count at row 1 in
/Applications/MAMP/htdocs/pinterest/profile.php:57 Stack trace: #0
/Applications/MAMP/htdocs/pinterest/profile.php(57): PDOStatement->execute() #1 {main}Success

See my pictures table

{
$sName = $_POST['name'];
$img = $_FILES['image']['name'];
$sUserId = $_SESSION['txtUsername'];

try{
$stmt = $db->prepare("INSERT INTO pictures VALUES (null, :sName, :sImage, 'curdate()', :sUserId, 0, 0)");
$stmt->bindValue(':sName', $sName);
$stmt->bindValue(':sImage', $img);
$stmt->bindValue(':sUserId', $aRow->user_id);

$stmt->execute();

}catch (PDOEXception $ex){
echo $ex;
}
move_uploaded_file($_FILES['image']['tmp_name'], "images/$img");
echo 'Success';
}

感谢您的帮助!

最佳答案

您应该始终明确列出插入的目标列:

try {
$sql = "INSERT INTO pictures (picture_name, picture_path, upload_date, use_rid, pic_like, pic_dislike) ";
$sql .= "VALUES (:sName, :sImage, CURDATE(), :sUserId, 0, 0)";
$stmt = $db->prepare($sql);
$stmt->bindValue(':sName', $sName);
$stmt->bindValue(':sImage', $img);
$stmt->bindValue(':sUserId', $aRow->user_id);

$stmt->execute();
} catch (PDOEXception $ex) {
echo $ex;
}

注意事项:

  • 因为picture_id是一个自增列,如果你想让MySQL自动分配一个序列值,你应该在插入时省略这个列。然后,MySQL 将处理选择值。
  • CURDATE() 使用单引号,因为它是一个函数调用。

关于php - 将curdate插入数据库的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56405506/

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