1 : <?php
2 :
3 :
4 :
5 :
6 :
7 :
8 :
9 :
10 : class WSFW_Db {
11 : private $link;
12 : private $sql;
13 : private $result;
14 : private $id;
15 :
16 :
17 :
18 :
19 : function __construct ($host, $port, $user, $pass, $database) {
20 6 : $this->link = mysql_connect ($host, $user, $pass);
21 6 : if (!$this->link) die ('<b>No se puede conectar a la base de datos</b><br>' . mysql_error());
22 6 : mysql_select_db($database) or die('<b>No se puede seleccionar la base de datos</b><br>' . mysql_error());
23 6 : mysql_query ("SET NAMES 'utf8'");
24 6 : }
25 :
26 :
27 :
28 :
29 : function __destruct() {
30 :
31 2 : }
32 :
33 :
34 :
35 :
36 :
37 :
38 : function query ($sql) {
39 :
40 :
41 5 : $this->result = mysql_query ($sql);
42 5 : if (!$this->result) die ('<b>Consulta inválida</b><br>La consulta ha fallado, consulte con el administrador.<br><b>Descripción del error:</b><br> ' . mysql_error() . '<br><b>Consulta:</b> ' . $sql);
43 5 : return $this->result;
44 :
45 :
46 : }
47 :
48 :
49 :
50 :
51 :
52 :
53 :
54 : function insert ($tabla, $campos) {
55 0 : $valores = null;
56 0 : $i = 0;
57 0 : foreach ($campos as $key => $value) {
58 0 : $value = ereg_replace("\"", "'", $value);
59 0 : if ($value == "NOW()") $valores .= "$key=$value";
60 0 : else $valores .= "$key=\"$value\"";
61 0 : if ($i != count($campos)-1) $valores .= ", ";
62 0 : $i++;
63 0 : }
64 0 : $this->query ("INSERT INTO $tabla SET $valores");
65 0 : $this->id = mysql_insert_id ();
66 0 : return mysql_affected_rows();
67 : }
68 :
69 :
70 :
71 :
72 :
73 :
74 :
75 :
76 : function update ($tabla, $campos, $condicion) {
77 0 : $valores = null;
78 0 : $i = 0;
79 0 : foreach ($campos as $key => $value) {
80 0 : $value = ereg_replace("\"", "'", $value);
81 0 : if ($value == "NOW()") $valores .= "$key=$value";
82 0 : else $valores .= "$key=\"$value\"";
83 0 : if ($i != count($campos)-1) $valores .= ", ";
84 0 : $i++;
85 0 : }
86 0 : $this->query ("UPDATE $tabla SET $valores WHERE $condicion");
87 0 : return mysql_affected_rows();
88 : }
89 :
90 :
91 :
92 :
93 :
94 :
95 :
96 : function delete ($tabla, $condicion) {
97 0 : $this->query ("DELETE FROM $tabla WHERE $condicion");
98 0 : return mysql_affected_rows();
99 : }
100 :
101 :
102 :
103 :
104 :
105 :
106 :
107 :
108 :
109 :
110 : function select ($campos, $tabla, $condicion = NULL, $orden = NULL, $sentido = NULL) {
111 0 : $valores = null;
112 0 : foreach ($campos as $value) {
113 0 : $valores .= $value;
114 0 : if (next ($campos)) $valores .= ", ";
115 0 : }
116 0 : if ($orden) $ordenar = "ORDER BY $orden $sentido";
117 0 : if ($condicion) $condicion = "WHERE $condicion";
118 0 : $sql = "SELECT $valores FROM $tabla $condicion $ordenar";
119 0 : $this->query($sql);
120 0 : if ($num_rows = mysql_num_rows($this->result)) {
121 0 : $valores = array();
122 0 : $i = 0;
123 :
124 0 : while ($row = mysql_fetch_assoc($this->result)) {
125 0 : $valores[$i] = $row;
126 0 : $i++;
127 0 : }
128 0 : return $valores;
129 0 : } else return array();
130 : }
131 :
132 :
133 :
134 :
135 :
136 :
137 :
138 :
139 : function select_unico ($campos, $tabla, $condicion) {
140 5 : $valores = null;
141 5 : foreach ($campos as $value) {
142 5 : $valores .= $value;
143 5 : if (next ($campos)) $valores .= ", ";
144 5 : }
145 5 : if ($condicion) $condicion = "WHERE $condicion";
146 5 : $sql = "SELECT $valores FROM $tabla $condicion LIMIT 0,1";
147 5 : $this->query($sql);
148 5 : if (mysql_num_rows($this->result) == 1)
149 5 : return mysql_fetch_assoc($this->result);
150 0 : else return false;
151 : }
152 :
153 :
154 :
155 :
156 :
157 :
158 :
159 :
160 : function select_valor ($campo, $tabla, $condicion) {
161 0 : $valor = $this->select_unico (array($campo), $tabla, $condicion);
162 0 : return $valor[$campo];
163 : }
164 :
165 :
166 :
167 :
168 :
169 :
170 :
171 : function contar ($tabla, $condicion) {
172 0 : if ($condicion) $condicion = "WHERE $condicion";
173 0 : $sql = "SELECT COUNT(*) FROM $tabla $condicion";
174 0 : $this->query($sql);
175 0 : return mysql_result($this->result,0,0);
176 : }
177 :
178 :
179 :
180 :
181 :
182 : function insert_id () {
183 0 : return $this->id;
184 : }
185 :
186 : }
187 :
188 : ?>
|