Bonjour,
Je me mets au POO et après lecture, je débute par l'intégration de la class mysql ci-après :
J'ai enregistré cette class dans un dossier que j'ai appelé "class" et le fichier s'appel "class_mysql.php"
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115 class MySql { var $dbHost = ""; // hostname of the MySQL server var $dbName = ""; // logical database name on that server var $dbUser = ""; // database authorized user var $dbPass = ""; // user's password var $linkId = 0; // last result of mysql_connect() var $queryId = 0; // last result of mysql_query() var $record = array(); // last record fetched var $currentRow; // current row number var $errorNumber = 0; // last error number var $errorMessage = ""; // last error message var $errorLocation = ""; // last error location // constructor function MySql($dbHost = "localhost", $dbName = "database", $dbUser = "inconnu", $dbPass = "unefois") { $this->dbHost = $dbHost; $this->dbName = $dbName; $this->dbUser = $dbUser; $this->dbPass = $dbPass; } // error handler function updateError($location) { $this->errorNumber = mysql_errno(); $this->errorMessage = mysql_error(); $this->errorLocation = $location; if($this->errorNumber && SHOW_ERROR_MESSAGES) { echo('<br /><b>'.$this->errorLocation.'</b><br />'.$this->errorMessage); flush(); } } function connect() { if($this->linkId == 0) { $this->linkId = mysql_connect( $this->dbHost, $this->dbUser, $this->dbPass ); if(!$this->linkId) { $this->updateError('DB::connect()<br />mysql_connect'); return false; } } return true; } function query($queryString) { if(!$this->connect()) { return false; } if(!mysql_select_db($this->dbName, $this->linkId)) { $this->updateError('DB::connect()<br />mysql_select_db'); return false; } $this->queryId = mysql_query($queryString, $this->linkId); $this->updateError('DB::query('.$queryString.')<br />mysql_query'); if(!$this->queryId) { return false; } $this->currentRow = 0; return true; } // retourne tous les enregistrements dans un tableau function queryAllRecords($queryString) { if(!$this->query($queryString)) { return false; } $ret = array(); while($line = $this->nextRecord()) { $ret[] = $line; } return $ret; } // retourne un enregistrement dans un tableau function queryOneRecord($queryString) { if(!$this->query($queryString) || $this->numRows() != 1) { return false; } return $this->nextRecord(); } // retourne l'enregistrement suivant dans un tableau function nextRecord() { $this->record = mysql_fetch_array($this->queryId); $this->updateError('DB::nextRecord()<br />mysql_fetch_array'); if(!$this->record || !is_array($this->record)) { return false; } $this->currentRow++; return $this->record; } // retourne le nombre d'enregistrement de la dernière requête function numRows() { return mysql_num_rows($this->queryId); } }
Dans mon code source php ayant besoin de faire appel à cette class, j'ai fait :
Puis lors de l'utilisation de la classe ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part require_once("class/class_mysql.php");
N'ayant pas le résultat escompté et après avoir mis des echo et des print_r partout, je n'y voit pas plus clair.
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 $queryString = "SELECT user_login, id_user FROM ttdk_users WHERE user_login = '".$user_login."' AND '".$today."' BETWEEN (user_date_entree AND user_date_sortie) AND id_trt BETWEEN 1 AND 4 OR user_login = '".$user_login."' AND '".$today."'>=user_date_entree AND user_date_sortie=0 AND id_trt BETWEEN 1 AND 4"; $requete = new MySql; $requete->queryAllRecords($queryString); $num = new MySql; $num->numRows(); $id_user=$requete["id_user"];
Jusque là est-ce comme cela que ce doit être écrit ?
Merci d'avance
Partager