Bonjour
Mes scripts étant devenus âgés ceux-ci ont besoin d'être réactualisés. Mon idée passer aux PDO. Après avoir lu plusieurs documents, je me suis lancé. Mon idée mettre les requêtes INSERT et UPDATE sur le même script. J'ai commencé par refaire le script connexion à la BDD
puis celui pour les requêtes, il y a deux solutions avec ou sans filtre, je ne sais pas bien laquelle serait plus idéale.
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 <?php if ( ! function_exists('db_connexion')) { function db_connexion() { static $pdo; if ( ! ($pdo instanceof PDO)) { try { $pdo = new PDO('mysql:host=monhost;dbname=name;charset=utf8','base', 'passwort', [ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_EMULATE_PREPARES => false ]); } catch (PDOException $e) { throw new InvalidArgumentException('Erreur connexion à la base de données : '.$e->getMessage()); exit; } } return $pdo; } } return db_connexion(); ?>
Sans filtres
avec filtre
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 <?php $sql='SELECT * FROM car_tbl ORDER BY type, constructeur, modele, mes, exploitant, autres;'; $type=array(); $db = include 'dbbaseconnect.php'; try{ $stmt = $db->prepare($sql); $type=''; $constructeur=''; $modeles=''; $mes=''; $exploitant=''; $autres=''; $id_superieur_a=0; while($row= $stmt->fetch(PDO::FETCH_ASSOC)){ $type[]=$row; } unset($db); //$data est complet if(count($type)>0){ echo '<pre>'; print_r($type); echo '</pre>'; } else{ echo 'Aucun resultat pour cette requete'; } } catch (Exception $e) { print "Erreur ! " . $e->getMessage() . "<br/>"; } ?>
Sur le même script, j'aimerais mettre aussi la requête UPDATE, voici le code qui a été placé en dessous de l'INSERT
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 $sql='INSERT INTO car_tbl (id, type, constructeur, modele, mes, exploitant) VALUES (NULL, ?, ?, ?, ?, ?)'; $db = include 'db_mysql.php'; try { $stmt = $db->prepare($sql); $type=''; $constructeur=''; $models=''; $mes=''; $exploitant=''; $autres=''; $stmt->execute(array($type,$constructeur,$modeles,$mes,$exploitant,$autres)) ; $nb_insert = $stmt->rowCount(); echo $nb_insert.' insertion effectuée<br/>'; unset($db); } catch (Exception $e) { print "Erreur ! " . $e->getMessage() . "<br/>"; }
Pouvez me dire si le choix faire un script avec les deux requêtes est possible, ainsi que mes codes ont-ils beaucoup d'erreurs ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 $sql='UPDATE contact SET = ? WHERE car_tbl.type = ?;'; $db = include 'db_mysql.php'; try { $stmt = $db->prepare($sql); $modeles=''; $type=0; $stmt->execute(array($mail,$id)) ; $nb_update = $stmt->rowCount(); echo $nb_update.' modif effectuée<br/>'; unset($db); } catch (Exception $e) { print "Erreur ! " . $e->getMessage() . "<br/>"; } ?>
merci d'avance
Partager