Connessione al Database, quale metodo migliore?

6 contenuti / 0 new
Ultimo contenuto
Connessione al Database, quale metodo migliore?

Salve,
sto lavorando con drupal 6 e ho la necessità di connettermi al database per fare alcune semplici query.

io ho utilizzato le funzioni PHP mysql_connect e mysql_query e così facendo ho aperto una nuova connessione al DataBase.
Mentre io credo che durante la creazione della pagina da parte del core, vi sia almeno un altra connessione con il DB aperta (o anche più di una) che io vorrei sfruttare senza aprirne una nuova. E' possibile questa cosa?
Se si, esiste qualche API Drupal per sfruttare direttamente una connessione aperta senza aprirne una nuova?

Vorrei solo ottimizzare il caricamento della pagina, visto che queste query andranno inserite in homepage.
Aspetto suggerimenti
Grazie :D

Puoi tranquilamente usare sia la connessione, che l'API Drupal del db. Inizia qui: http://api.drupal.org/api/group/database

Più imparo, più dubito.

ciao John, e grazie per la puntuale risposta.
Comunque in quella pagina che mi hai suggerito, ci sono passato proprio prima di postare la domanda, ma non ci ho capito tanto :-) .

Utilizzando le API per fare query e gestire i risultati, ho bisogno di effettuare prima la connessione o posso scrivere direttamente le query utilizzando una connessione preesistente??

Mi chiedo questo perchè tempo che il tempo per la connessione sia rilevante.

Marco

Devo capire l'ambiente, Marco.

Se devi fare query durante l'esecuzione di Drupal, usa l'API, la connessione c'è già - viene creato durante lo bootstrap di Drupal, ma prima che puoi eseguire il tuo codice.

Se invece devi accedere al DB per conto tuo al di fuori di Drupal, allora l'API non serve (o meglio devi anche fare un bootstrap di Drupal se vuoi usarlo - come fa Drush per intenderci).

Dato che hai parlato di 'queste query andranno inserite in homepage' presumo che sei già dentro Drupal, quindi lui ha già fatto la connessione al DB.

Hai ragione che le connessioni sono molto costosi (sia di tempo che di altri risorse) ma serve solo uno.

HTH

John

Più imparo, più dubito.

ciao
si era proprio quello che volevo sentirmi dire.

Anche io presupponevo che la connessione fosse attivata in fase di boot di una pagina, ma ne volevo la certezza.
Naturalmente sto lavorando su drupal. Ora magari faccio qualche test con i due tipi di pagina (con o senza utilizzo di API) e magari calcolo i risultati con page-speed.
Vediamo cosa ne viene fuori!
Grazie dell'aiuto
Marco

Scusate se riapro la discussione, sto lavorando ad un mio sito web su harry potter ma non riesco a collegarmi al database. In pratica ho creato una funzione per lo smistamento casuale nelle casate. Per ogni casata ho creato un ruolo, adesso voglio assegnare il ruolo alla persona ed ho fatto così solo che nel database non accade nulla. Dove ho sbagliato? Premetto che sono un novellino con database e php

<?php
$numero
= rand(3,6);
if (
$numero == 3) $risultato = "Grifondoro";
else if (
$numero == 4) $risultato = "Serpeverde";
else if (
$numero == 5) $risultato = "Tassorosso";
else
$risultato = "Corvonero";
echo
"Complimenti! Il cappello parlante ti ha smistato nella casata di " .$risultato;
mysql_select_db("my_gdrhogwarts");
$sql="INSERT INTO `users_roles` (`uid`, `rid`) VALUES
('
$_POST[uid], ,'$_POST[numero]')";
?>

La variabile $numero sta per il rid nel database.
Secondo me l'errore sta nel fatto che non ho dichiarato l'UID... ma come posso procurarlo?

Il mio sito web