Codice php va in errore quando scrive sul db riprendo dal precedente
Buongiorno,
ho fatto innumerevoli prove con tutti i codici che mi avevate suggerito, sono arrivato a questo:
Codice PHP:
<?php
/*mysqli e pdo library*/
error_reporting(E_ALL);
$USERNAME = "leonardomoretti";
$PASSWORD = null;
$DBSERVER= "localhost";
$DBNAME = "my_leonardomoretti";
if(!($db_connection = new mysqli($DBSERVER, $USERNAME, $PASSWORD, $DBNAME)))
die('Connect Error (' . $db_connection->connect_errno . ') '. $db_connection->connect_error);
if(!($db_selection = $db_connection->select_db($DBNAME)))
die ("Errore nella selezione del DB.");
$vdata= $_REQUEST['data'];
$string = explode(',',$vdata); /*SEPARA IN PARORE LA STRINGA INTERA SEPARATA DAL CARATTERE "," E LE METTE NEL VETTORE */
date_default_timezone_set('Europe/Warsaw');
$date=date ("Y-m-d");
$time=date("H:i:s");
/*$progressive=(int)$string[0];*/
$device=$string[0];
$data1=$string[1];
$data2=$string[2];
// Inserisce i dati nella base di dati
$query =("INSERT INTO MEASUREMENTS (DATA, TIME, DEVICE, DATA1, DATA2) VALUES (?, ?, ?, ?, ?)");
if (($stmt = $db_connection->prepare($query)) === false) {
echo "0 Rows inserite.\n";
die("ERROR: Could not to prepare $query. " . $db_connection->error);
}
if ($test =$stmt->bind_param("iisss", $date, $time, $device, $data1, $data2) === false) {
echo "0 Rows inserite.\n";
die("ERROR: Could not bind params: $date, $time, $device, $data1, $data2. " . $db_connection->error);
}
var_dump($test, $date, $time, $device, $data1, $data2);
if ($stmt->execute() === false) {
echo "0 Rows inserite.\n";
die("ERROR: Could not bind execute query. " . $db_connection->error);
}
echo "1 Row inserite.\n";
echo "Records inserted successfully.";
$stmt->close();
$db_connection->close();
?>
Che rilascia il seguente errore:
Citazione:
bool(false) string(10) "2020-08-05" string(8) "13:12:44" string(8) "DEVICE01" string(4) "30.0" string(2) "55" 0 Rows inserite. ERROR: Could not bind execute query. Incorrect date value: '2020' for column 'DATA' at row 1
però non riesco a capire questo errore: Incorrect date value: '2020' for column 'DATA' at row 1
perché sono sicuro che la seguente riga $date=date ("Y-m-d"); mi rilascia solo la data nel formato giusto (anno-mese-giorno) che la vuole il DB.
Perché LA COLONNA 'DATA' ha valore 2020, quando controllando il contenuto della variabile data con echo mi da la data odierna con tutti i valori (giorno,mese,anno) ?
Grazie.