私は php と sql にかなり慣れていないので、オブジェクトまたはネストされたオブジェクトから値を取得しようとしています。print_r コマンドを使用するとコードを表示できますが、実際の日付をオブジェクトから分離できず、datetime 基準を使用して 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サーバー]Incorrect syntax near '&'. [message] => [Microsoft][SQL Server Native Client 11.0][SQL Server]Incorrect syntax near '&'. ) )
そのため、方法がわからないため、日付を含むクエリを適切にプルできません。さらに明確にするために、次の情報を使用してデータベースから情報を取得できますが、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 Object ( [Register_Id] => 3 [Account_Id] => 5 [Register_Number] => 17 [Credit_Or_Debit] => D [Accounting_Period_Id] => 13 [Date] => DateTime Object ( [date] => 2010-12- 21 00:00:00 [timezone_type] => 3 [timezone] => MST ) [Register_Type_Id] => 1 [リファレンス] => 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 ) )
2 つのことができる必要があり、頭を壁にぶつけているような気がします。それは私の手の届かないところにあり、誰かが私を助けてくれることを願っています.
質問:
datetime 基準を使用して SQL クエリを修正する方法 (つまり、過去 3 日以内の日付を持つすべての register_id を取得する)?
オブジェクトから日付と時刻を取得して php 変数に配置する方法