Reputation: 917
Hey guys it may have been asked before but I am still stuck with a peculiar issue.
I am trying to Pass a dateTime object to my mysql insert statement but it always tells me there is an error namely:
Object of class DateTime could not be converted to string
$dateToPass = new DateTime('now');
//$dateToPass = $dateToPass->format('d/m/Y H:i:s');
//inserting values
$SQLstring="Insert into Request(cust_num,request_date,item_description,item_weight,pickup_address,pickup_suburb,
pickup_date,pickup_time,receiver_name,delivery_address,delivery_suburb,delivery_state)
values(27,$dateToPass,'$desc',$weight,'$address','$suburb','$date', '$time','$rname','$raddress','$rsuburb','$rstate');";
$queryResult = @mysqli_query($DBConnect, $SQLstring)
Or die ("<p>Unable to query the Customer table.</p>"."<p>Error code ". mysqli_errno($DBConnect). ": ".mysqli_error($DBConnect)). "</p>";
Where $dateToPass is a datetime field in my database.
Hope you guys can help.
Upvotes: 0
Views: 40
Reputation: 56982
you cannot send DateTime
object as string. Try converting it to string as MySQL expects.
$dateToPass = new DateTime('now');
$dateToPass = $dateToPass->format('Y-m-d H:i:s');
Alternatively if you are always going to store current datetime you can use the MySQL NOW() like
$SQLstring="Insert into Request(cust_num,request_date,item_description,item_weight,pickup_address,pickup_suburb,
pickup_date,pickup_time, receiver_name,delivery_address,
delivery_suburb,delivery_state)
values(27,NOW(),'$desc',$weight,'$address','$suburb','$date', '$time','$rname','$raddress','$rsuburb','$rstate');";
Upvotes: 2