如何使用PHP和AZURE SQL控制台将日期插入AZURE SQL数据库

如何使用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),

问题

最近,我用PHP创建了这个表,它工作了

$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中获取日期,然后将其转换为日期格式。

仍然是相同的问题,下面发布了相同的答案