Bonjour,

J'execute en php une commande à un logiciel pour modifier une table de sa base de donnée (base en SQLSERVER). Pour des raisons techniques, liées à ce logiciel je ne peux pas modifier la base en direct avec un UPDATE.

Cela fonctionne en revanche, je souhaiterai controler que ce logiciel à bien modifié sa base avec les éléments que je lui ai envoyé.

je fais donc une première lecture avec les modifications
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
$strSQL = "SELECT Num,  Heure,  FROM CRDHLD WHERE NumRDV='$number'";
$result = sqlsrv_query($conn, $strSQL) or die( print_r( sqlsrv_errors(), true));
$data_old = sqlsrv_fetch_array($result);
Puis une seconde apres envoie des données au logiciel
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
$strSQL = "SELECT Num,  Heure,  FROM CRDHLD WHERE NumRDV='$number'";
$result = sqlsrv_query($conn, $strSQL) or die( print_r( sqlsrv_errors(), true));
$data_new = sqlsrv_fetch_array($result);
Pour vérifier que les modifications sont bien prises en compte, j'avais l'idée de faire
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
$compar = array_diff($data_old, $data_new); // on compare les 2 tableaux
 
if ($compar != " "){ // si compar affiche quelque chose
    echo "OK"; // le fichier a bien été modifié
    exit;
} else{
   echo "NOK"); // erreur de connection reessayer
   exit;
}
Mais avec les date j'obtiens l'erreur
Object of class DateTime could not be converted to string

Dois-je reconvertir les date en string et les reinjecter dans le tableau ou y a til une solution plus simple
Merci