Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
“需要拉入我的数据类型”;日期“;进入PHP的显示表_Php_Sql Server - Fatal编程技术网

“需要拉入我的数据类型”;日期“;进入PHP的显示表

“需要拉入我的数据类型”;日期“;进入PHP的显示表,php,sql-server,Php,Sql Server,需要显示的行是“$date['entry\u date']” 它不会将数据类型为日期的SQL Server表拉入显示表。 我做错了什么 <tbody> <?php $transaction_id = 1; while ($row = sqlsrv_fetch_array($query)) { $amount = $row['amount'] == 0 ? '' : number_format($row['amount']);

需要显示的行是“$date['entry\u date']”

它不会将数据类型为日期的SQL Server表拉入显示表。 我做错了什么

 <tbody>
    <?php
    $transaction_id = 1;

    while ($row = sqlsrv_fetch_array($query))
    {
        $amount  = $row['amount'] == 0 ? '' : number_format($row['amount']);

        echo '<tr>
                <td>'.$transaction_id.'</td>
                <td>'.$row['fund'].'</td>
                <td>'.$row['department'].'</td>
                <td>'.$row['code_name'].'</td>
                <td>'.$row['budget_year'].'</td>
                <td>'.$date['entry_date'].'</td>
                <td>'.$row['project_name'].'</td>
                <td>'.$row['item_desc'].'</td>
                <td>'.$amount.'</td>
                <td>'.$row['detail'].'</td>
                <td>'.$row['PO'].'</td>

            </tr>';

        $transaction_id++;
    }?>
    </tbody>


$date应为$row。在代码中,$日期未定义。但是,$row等于您的SQL查询结果$行是一个关联数组,每个值都与SQL字段名关联。因此,如果要显示“输入日期”字段中的值,请写入$row[“输入日期”]。

如果我理解您的问题,则无法从日期字段中获取值。 可以通过以下方式将日期和时间类型(datetime、date、time、datetime2和datetimeoffset)检索为字符串:

将连接选项
returnDateSasString
设置为
true

$server = 'server\instance,port';
$cinfo = array(
    "ReturnDatesAsStrings"=>true,
    "Database"=>'database',
    "UID"=>"user",
    "PWD"=>"password"
);
...
while ($row = sqlsrv_fetch_array($query, SQLSRV_FETCH_ASSOC)) {
    echo '<tr>
            <td>'.$row['entry_date'].'</td>
        </tr>';
}
...

这个$date是什么,在哪里定义了
$query
?查询中是否包含日期字段?日期的数据类型为date。我在“$row['entry\u date']”中列出了它。我认为这会起作用,但它附带的类DateTime的错误对象无法转换为字符串“$row['entry\u date']”。您将需要引用它:$dateFromDB将是$row['entry\u date']。
$server = 'server\instance,port';
$cinfo = array(
    "ReturnDatesAsStrings"=>false,
    "Database"=>'database',
    "UID"=>"user",
    "PWD"=>"password"
);
...
while ($row = sqlsrv_fetch_array($query, SQLSRV_FETCH_ASSOC)) {
    echo '<tr>
            <td>'.date_format($row['entry_date'], 'Y-m-d').'</td>
        </tr>';
}
...