I have issues with converting my string into a valid datetime2 for use in a MS SQL DB.
I am using the CAST operator from SQL to convert it into a valid format.
The Code looks like this:
include("sqlconnection.php");
$statement = $pdo->prepare("UPDATE auftrag SET bestelldatum = CAST(:bestelldatum AS datetime(7)), lieferdatum_wunsch = :lieferdatum, fk_id_kunde = (Select id_kunde from kunde where firmenname = :kunde), fk_id_auftragsstatus = (SELECT id_auftragsstatus from auftragsstatus WHERE bezeichnung = :status) WHERE id_auftrag = :id");
$result = $statement->execute(array("bestelldatum" => $_POST['bestelldatum'], "lieferdatum" => $_POST['lieferdatum'], "kunde" => $_POST['kunde'], "status" => $_POST['status'], "id" => $_POST['id']));
echo $result;
The format of the $_POST['bestelldatum'] looks like this: dd/mm/yyyy
I get the following error:
Uncaught PDOException: SQLSTATE[42000]:
[Microsoft][ODBC Driver 13 for SQL Server][SQL Server]CAST oder CONVERT: Für
den datetime-Typ wurden ungültige Attribute angegeben. in
C:\xampp\htdocs\php\scripts\scripts.php:402 Stack trace: #0
C:\xampp\htdocs\php\scripts\scripts.php(402): PDOStatement->execute(Array) #1
C:\xampp\htdocs\php\scripts\scripts.php(30): saveAuftragChanges() #2 {main}
thrown in C:\xampp\htdocs\php\scripts\scripts.php on line 402
Translated: cast or convert invalid attributes specified for type 'datetime'
I hope you can help me,
Sincerly,
Jan
I tried, what `strtotime($_POST['bestelldatum'])` gives me, it returns a empty string – Jun 18 '18 at 11:06