Bonjour, je cherche à modifier une requête mysqli avec mise en forme de données vers un modèle PDO.
Le code avec mysqli fonctionne, il envoie des données json vers une datatable.
J'ai tenté mais sans succès, est-ce possible de m'éclairer un peu pour savoir pourquoi mon tableau ne fonctionne plus, comment faire pour afficher la valeur de data et vérifier qu'elle est similaire à la première version ?
La version mysqli qui fonctionne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 <?php $servername = "127.0.0.1"; $username = "root"; $password = ""; $dbname = "ajax_crud"; $conn = mysqli_connect($servername, $username, $password, $dbname); if (!$conn) { die("Connection failed: " . mysqli_connect_error()); } if ($_GET["action"] === "fetchData") { $sql = "SELECT * FROM users"; $result = mysqli_query($conn, $sql); $data = []; while ($row = mysqli_fetch_assoc($result)) { $data[] = $row; } mysqli_close($conn); header('Content-Type: application/json'); echo json_encode([ "data" => $data ]); }
La version PDO que j'ai tenté mais qui ne fonctionne pas.
Merci de votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
43
44
45
46
47 Class Connection{ private $server = "mysql:host=127.0.0.1;dbname=ajax_crud"; private $username = "root"; private $password = ""; private $options = array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,); protected $conn; public function open(){ try{ $this->conn = new PDO($this->server, $this->username, $this->password, $this->options); return $this->conn; } catch (PDOException $e){ echo "There is some problem in connection: " . $e->getMessage(); } } public function close(){ $this->conn = null; } } if ($_GET["action"] === "fetchData") { try{ $req_users = $pdo->prepare(" SELECT * FROM `users` ORDER BY user_id "); $req_users->execute(); $data = $req_users->fetchAll(PDO::FETCH_ASSOC); } catch(PDOException $e){ echo "There is some problem in connection: " . $e->getMessage(); } //close connection $database->close(); header('Content-Type: application/json'); echo json_encode([ "data" => $data ]); }
Partager