我对 php 和 sql 还很陌生,我试图从对象或嵌套对象中提取一个值。当我使用 print_r 命令时,我能够看到代码,但我无法将实际日期与对象分开,而且我也无法使用日期时间条件搜索 sql。我确实知道“日期”作为 smalldatetime 数据类型存储在 sql 中,但我不知道如何使用它。
当我尝试使用以下内容搜索 sql 时:
$sql = "SELECT * FROM GL_Register WHERE (Register_Id='5' && Date='2010-12-8 0:00:00')";
我收到以下错误:
数组 ( [0] => 数组 ( [0] => 42000 [SQLSTATE] => 42000 [1] => 102 [代码] => 102 [2] => [Microsoft][SQL Server Native Client 11.0][SQL服务器]'&' 附近的语法不正确。[消息] => [Microsoft][SQL Server Native Client 11.0][SQL Server]'&' 附近的语法不正确。))
所以我不能正确地提取带有日期的查询,因为我不知道如何。为了进一步澄清,我可以使用以下信息从数据库中提取信息,但我仍然无法从 Date 对象中提取日期。
这是我加载对象的方式:
$sql = "SELECT * FROM GL_Register WHERE Register_Id='3'";
$stmt = sqlsrv_query( $conn, $sql);
if( $stmt === false ) {
die( print_r( sqlsrv_errors(), true));
}
else{
echo $sql;
}
while($obj = sqlsrv_fetch_object( $stmt)) {
$count++;
$row = '<tr>';
$row .= '<td>'.$count.'</td>';
//$row .= '<td>'.$obj->Date->DateTime->date.'</td>';
$row .= '<td>'.$obj->Account_Id.'</td>';
$row .= '<td>'.$obj->Customer_Id.'</td>';
$row .= '<td>'.$obj->Category_Id.'</td>';
$row .= '<td>'.$obj->Credit_Or_Debit.'</td>';
$row .= '<td>'.$obj->Memo.'</td>';
$row .= '<td>$'.$obj->Amount.'</td>';
$row .= '</tr>';
echo "$row";
}
当我使用“print_r($obj)”时,它显示的是:
stdClass 对象([Register_Id] => 3 [Account_Id] => 5 [Register_Number] => 17 [Credit_Or_Debit] => D [Accounting_Period_Id] => 13 [Date] => DateTime 对象([date] => 2010-12- 21 00:00:00 [timezone_type] => 3 [timezone] => MST) [Register_Type_Id] => 1 [Reference] => 300002 [Type_CVEO] => C [Customer_Id] => 362 [Vendor_Id] => 1 [ Employee_Id] => 1 [Other_Name] => [Offset_Account_Id] => 1 [Splits] => N [Amount] => 179.9600 [Mult_Sign] => 1 [Memo] => Security Services [Status] => O [Is_Offset] => N [Offset_Register_Id] => 4 [Branch_Id] => 2 [Job_Id] => 1 [Service_Ticket_Id] => 1 [Category_Id] => 6 [Job_Expense_Code] => [Expense_Type_Id] => 5 [Post_WIP_Account_Id] => 1 [Primary_Register_Number] => 0 [Part_Id] => 1 [Currency_Id] =>1 [Exchange_Rate] => 1.0000 [Amount_Nat] => 179.9600 [Date_Time_Stamp] => DateTime 对象([date] => 2010-12-21 12:29:06 [timezone_type] => 3 [timezone] => MST))
我需要能够做两件事,我觉得我的头撞到了墙上。这只是我无法企及的,我希望有人可以帮助我。
问题:
如何使用日期时间标准修复 sql 查询(即提取所有在过去 3 天内具有日期的 register_id)?
如何从对象中提取日期和时间并将其放入 php 变量中