E da molto che non scrivo, scusate ma non ho il tempo per stare in questo forum, per fortuna ora un po di tempo lo ho.
Cmq, passiamo a noi.
Sto realizzando una classe per gestire un database sql, contenente, per ora, le seguenti funzioni:
Tutte le funzioni vanno correttamente, eccetto la funzione query(), quest'ultima funziona per alcune query, tipo quella di inserimento, ma no in altre, tipo quella di selezione, per farvi un'esempio:
Io inizializzo la classe nella variabile $conn, per poi eseguire questo codice:
Ma il codice non mi restituisce nessun risultato, e come se non mi eseguisse, anche se sono corrette, alcune query, come mai?
Cmq, passiamo a noi.
Sto realizzando una classe per gestire un database sql, contenente, per ora, le seguenti funzioni:
- Apertura / chiusura database.
- Conteggio record tabella, con o senza filtro.
- Esequzione query con l'insermento della funzione sqlite_escape_string().
PHP:
class Connect
{
var $sq = null;
var $sqerror = null;
var $lastquery = null;
function __construct($path)
{
$this->sq = sqlite_open($path, 0666, $this->sqerror)or die("Errore.");
}
function query($args)
{
if (func_num_args() > 1) {
$args = func_get_args();
$this->lastquery = call_user_func_array("sprintf", addslashes($args));
return sqlite_query($this->sq, $this->lastquery);
}
}
function query($args)
{
if (func_num_args() > 1) {
$args = func_get_args();
for ($i = 0; $i < count($args); $i++)
{
if ($i > 0) {
$args[$i] = sqlite_escape_string($args[$i]);
}
}
$this->lastquery = call_user_func_array("sprintf", $args);
return sqlite_query($this->sq, $this->lastquery);
}
}
function records_count($args)
{
$args = func_get_args();
if (func_num_args() == 1) {
$query = "SELECT * FROM " . $args[0];
}elseif (func_num_args() == 2) {
$query = "SELECT * FROM " . $args[0] . " WHERE " . $args[1];
}
if (func_num_args() > 0 && func_num_args() < 3) {
$rows = sqlite_query($this->sq, $query);
return sqlite_num_rows($rows);
}
}
function close()
{
sqlite_close($this->sq);
}
}
Tutte le funzioni vanno correttamente, eccetto la funzione query(), quest'ultima funziona per alcune query, tipo quella di inserimento, ma no in altre, tipo quella di selezione, per farvi un'esempio:
Io inizializzo la classe nella variabile $conn, per poi eseguire questo codice:
PHP:
$query = $conn->query("SELECT * FR0M %s", $_GET["category"]);
while ($rs = sqlite_fetch_array($query))
{
print_r($rs);
}
Ma il codice non mi restituisce nessun risultato, e come se non mi eseguisse, anche se sono corrette, alcune query, come mai?