gpt4 book ai didi

php - 无法使用 PHP 将日期时间值插入到 MySQL 表中

转载 作者:行者123 更新时间:2023-11-29 12:14:08 24 4
gpt4 key购买 nike

我正在尝试在 PHP 中运行以下代码:

<?php
require_once 'Admin/Connector.php';

$name = 'A Schandillia';
$number = '12345678910';
$latitude = '73.897687';
$longitude = '11.958271';
$sql = 'INSERT INTO distilled_contacts (PHONE, POPULARNAME, PREFERREDNAME, LATITUDE, LONGITUDE, LASTSEEN) VALUES ';
$sql .= '(:num, :name, :name, :lat, :lon:, CURRENT_TIMESTAMP) ON DUPLICATE KEY UPDATE PREFERREDNAME = :name, LATITUDE = COALESCE(:lat, LATITUDE), LONGITUDE = COALESCE(:lon, LONGITUDE);';

$connect = dbconn(PROJHOST,PROJDB,PROJDBUSER,PROJDBPWD);

$query = $connect->prepare($sql);

$query->bindParam(':num', $number);
$query->bindParam(':name', $name);
$query->bindParam(':lat', $latitude);
$query->bindParam(':lon', $longitude);

$query->execute();

?>

但是,它拒绝识别 CURRENT_TIMESTAMP 并抛出此错误:

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ':, "CURRENT_TIMESTAMP") ON DUPLICATE KEY UPDATE PREFERREDNAME = 'A Schandillia',' at line 1' in /Users/Amit/Sites/project/test.php:24 Stack trace: #0 /Users/Amit/Sites/project/test.php(24): PDOStatement->execute() #1 {main} thrown in /Users/Amit/Sites/project/test.php on line 24

我什至尝试用 NOW() 替换它,但问题仍然存在。有没有办法以编程方式将日期时间值输入 MySQL 表中?

附注请不要建议在我的表格上使用 timestamp 数据类型而不是 datetime,因为这在我的场景中不起作用。

最佳答案

错误非常明显:您的 SQL 语法有错误。该错误甚至更详细:错误的语法位于 CURRENT_TIMESTAMP 之前的“:”字符。

现在仔细查看您的查询:


:num, :name, :name, :lat, :lon:

你在lon的右侧看到了什么?它与latname有什么不同吗?

关于php - 无法使用 PHP 将日期时间值插入到 MySQL 表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30144190/

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