Ik heb een MySQL database class gemaakt, en daar ondervind ik momenteel problemen mee als het gaat om een stukje code als dit:
Ik denk (omdat ik er maar niet uit kom met het debuggen) dat het te maken heeft dat ik één algemene variabele in de class heb waarin de laatst gebruikte query instaat en die telkens opnieuw gebruik. Maar ik zou niet weten hoe ik dit dan moet oplossen
Ik hoop dat iemand er wel de ervaring mee heeft, dit is in ieder geval mijn class tot nu toe:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| $mysql = new mysql(); $mysql->connect(); $mysql->query("SELECT dit FROM dat"); while($dat= $mysql->fetch()) { $mysql->query("SELECT dittes FROM dattes WHERE wat='$dat->dit'"); while($iets = $mysql->fetch()) { echo $iets->dittes; } } |
Ik denk (omdat ik er maar niet uit kom met het debuggen) dat het te maken heeft dat ik één algemene variabele in de class heb waarin de laatst gebruikte query instaat en die telkens opnieuw gebruik. Maar ik zou niet weten hoe ik dit dan moet oplossen
Ik hoop dat iemand er wel de ervaring mee heeft, dit is in ieder geval mijn class tot nu toe:
PHP:
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
| class mysql { var $clock = 0; var $report = TRUE; var $query; var $history = array(); function connect() { mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS); mysql_select_db(MYSQL_DB); } function query($sql) { timer::start(); $this->query = @mysql_query($sql)or die($this->error($sql, mysql_error(), mysql_errno())); timer::stop(); $this->clock+= timer::output(); $this->history[] = $sql; } function fetch() { switch(MYSQL_FETCH) { case "MYSQL_OBJECT": return mysql_fetch_object($this->query); break; case "MYSQL_ASSOC": return mysql_fetch_array($this->query, MYSQL_ASSOC); break; case "MYSQL_NUM": return mysql_fetch_array($this->query, MYSQL_NUM); break; case "MYSQL_BOTH": return mysql_fetch_array($this->query, MYSQL_BOTH); break; case "": return mysql_fetch_object($this->query); break; } } function resultNum() { return mysql_num_rows($this->query); } function result($row, $field) { return mysql_result($this->query, $row, $field); } function error($sql, $error, $errno) { $array = debug_backtrace(); $i = count($array) > "1" ? "1" : "0"; $error = array("file" => $array[$i]["file"], "line" => $array[$i]["line"], "sql" => $sql, "error" => $error, "errno" => $errno); if(isSet($this->report)) { print("<pre>"); print_r($error); print("</pre>"); } } function close() { return mysql_close(); } function execTime() { return str_replace('.', ',', substr(timer::output(), 0, 7)); } function queryNum() { return count($this->history); } } |
[ Voor 17% gewijzigd door Verwijderd op 17-11-2003 21:31 . Reden: Typo ]