Bonjour à tous,
J'essai actuellement de faire passer le résultat d'une requête sql de mon php via mon script js avec ajax.
Je souhaite utiliser json_encode, seulement j'ai un problème.
Voilà mon code :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
|
<?php
$data = array();
$myServer = "";
$myUser = "";
$myPass = "";
$myDB = "";
$conn = new COM ("ADODB.Connection")
or die("Cannot start ADO");
$connStr = "PROVIDER=SQLOLEDB.1;SERVER=".$myServer.";UID=".$myUser.";PWD=".$myPass.";DATABASE=".$myDB;
$conn->open($connStr);
$A='XXXX';
$B='Y';
$query = "SELECT * FROM matable WHERE col1 LIKE '%" .$A.";".$B."%' ORDER BY col2 DESC";
$rs = $conn->execute($query);
$rs = $conn->execute($query);
$num_columns = $rs->Fields->Count();
$all_infos='';
for ($i=0; $i < $num_columns; $i++) {
$fld[$i] = $rs->Fields($i);
}
while (!$rs->EOF)
{
array_push($data, $fld);
$rs->MoveNext();
}
echo json_encode($data);
$rs->Close();
$conn->Close();
$rs = null;
$conn = null;
?> |
Ça fonctionne, mais voilà le résultat que j'obtiens :
[[{},{},{},{},{},{},{}],[{},{},{},{},{},{},{}],[{},{},{},{},{},{},{}]]
Un tableau de tableaux vide ! Mais qui contient le bon nombre de tableau contenant le bon nombre de valeur !
J'ai cru lire ici & là que c'est plus simple en se connectant à la base avec mysqli seulement je n'y parviens pas, impossible de me connecter à la base de cette façon et je ne sais pas pourquoi.
Si dans mon while je place :
echo $fld[0] ."-" .$fld[1] ."-" .$fld[2] ."-" .$fld[3] ."-" .$fld[4] ."-" .$fld[5] ."-" .$fld[6];
J'affiche bien les bonnes valeurs.
J'espère que vous pourrez m'aider. Je préfère utiliser json_encode plutôt que de faire une magouille.
Je vous remercie d'avance !
Partager