如何使用PHP和AZURE SQL控制台将日期插入AZURE SQL数据库
问题 最近,我用PHP创建了这个表,它工作了如何使用PHP和AZURE SQL控制台将日期插入AZURE SQL数据库,php,sql,azure,Php,Sql,Azure,问题 最近,我用PHP创建了这个表,它工作了 $woQuery = "CREATE TABLE WOQUERY ( nameNO VARCHAR(30) NOT NULL, commissionDate DATE, serviceType TEXT NOT NULL, serviceNo TEXT NOT NULL, userNameC CHAR(30),
$woQuery = "CREATE TABLE WOQUERY (
nameNO VARCHAR(30) NOT NULL,
commissionDate DATE,
serviceType TEXT NOT NULL,
serviceNo TEXT NOT NULL,
userNameC CHAR(30),
dateAssigned DATE);
然而,当我试图插入日期时
/* Proceeds with the upload */
$sql = "INSERT INTO WOQUERY VALUES(?,?,?,?);";
/* array(nameWO, commissionDate , serviceType, serviceNo) */
$params = array($extractor[0], $extractor[1], $extractor[2], $extractor[3]);
if (!sqlsrv_query($databaseController, $sql, $params)) {
die(print_r(sqlsrv_errors(), true));
return false;
} else {
print("Successfully uploaded");
return true;
}
我的程序一直停在最后。说那是不正确的语法。虽然我四处寻找类似的问题,但他们都没有解决我的问题
这让我进入Microsoft AZURE SQL的控制台进行测试
INSERT INTO WOQUERY ('xadsada', '28/01/2019', 'helpService', '12345', 'johnny' , '03/02/2019');
尽管尝试使用FORMAT()或CAST()或将其保留为'28/01/2019'
我将得到类似“从字符串转换日期/时间时转换失败”或“字符串或二进制数据将被截断”的错误
帮助
我想知道是否有任何方法可以将日期插入AZURE SQL(notmssql/sqlite/mysql)?
谢谢。因为你写错了插入字符串。在声明值之前,您没有声明列名称。 插入字符串示例:
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
在中查看文档您的值与列的类型不匹配,但是查询看起来是正确的。您需要为日期列发送一个数据类型为DATE的值,或者将其更改为字符串类型,或者发送
当前时间戳
插入日期的唯一方法是遵循“mm-dd-yyyy”格式,而不是“dd-mm-yyyy”。因此,我现在能想到的唯一方法是将我的列数据类型更改为string并存储日期
如果我需要日期,我将从SQL中获取日期,然后将其转换为日期格式。仍然是相同的问题,下面发布了相同的答案