Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione Realme 15 Pro Game Of Thrones: un vero cimelio tech per pochi eletti
Recensione Realme 15 Pro Game Of Thrones: un vero cimelio tech per pochi eletti
Siamo volati fino a Belfast, capitale dell'Irlanda Del Nord, per scoprire il nuovo Realme 15 Pro 5G Game Of Thrones Limited Edition. Una partnership coi fiocchi, quella tra Realme e HBO, un esercizio di stile davvero ben riuscito. Ma vi raccontiamo tutto nel nostro articolo
GIGABYTE GAMING A16, Raptor Lake e RTX 5060 Laptop insieme per giocare al giusto prezzo
GIGABYTE GAMING A16, Raptor Lake e RTX 5060 Laptop insieme per giocare al giusto prezzo
Il Gigabyte Gaming A16 offre un buon equilibrio tra prestazioni e prezzo: con Core i7-13620H e RTX 5060 Laptop garantisce gaming fluido in Full HD/1440p e supporto DLSS 4. Display 165 Hz reattivo, buona autonomia e raffreddamento efficace; peccano però le USB e la qualità cromatica del pannello. Prezzo: circa 1200€.
iPhone 17 Pro: più di uno smartphone. È uno studio di produzione in formato tascabile
iPhone 17 Pro: più di uno smartphone. È uno studio di produzione in formato tascabile
C'è tanta sostanza nel nuovo smartphone della Mela dedicato ai creator digitali. Nuovo telaio in alluminio, sistema di raffreddamento vapor chamber e tre fotocamere da 48 megapixel: non è un semplice smartphone, ma uno studio di produzione digitale on-the-go
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 04-12-2009, 18:16   #1
Alhazred
Senior Member
 
L'Avatar di Alhazred
 
Iscritto dal: Dec 2003
Messaggi: 1759
[PHP-MySQL] Connessione al db su un file esterno

Sono in questa situazione: vorrei non dover riscrivere ogni volta il codice per la connessione al db in ogni file in cui ne ho bisogno, quindi ho deciso di scriverlo in un file e includere questo nei file dove serve.

Il file per la connessione che ho scritto è questo
Codice PHP:
<?php
$host 
"localhost";
$user "root";
$pass "root";
$dbname "nomedb";

$conn mysql_connect($host$user$pass) or die('Impossibile stabilire una connessione col database');
mysql_select_db($dbname) or die('Impossibile selezionare il database');
?>
e sto provando in un file se funziona, il file di prova è questo
Codice PHP:
<?php
include_once("connect.php"); //è il file scritto sopra

function registra($dati) {
    
$query "INSERT INTO tabella (nome) VALUES ('Pippo')";
    
    
mysql_query($query,$conn);
    
    if(!
mysql_error($conn)) {
        return 
true;
    }
    else {
        return 
false;
    }
}
?>
Ottengo questi errori in corrispondenza della funzione mysql_query e di mysql_error.
Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in C:\xampp\htdocs\development\php\provadb\include\dbfunc.php on line 7

Warning: mysql_error(): supplied argument is not a valid MySQL-Link resource in C:\xampp\htdocs\development\php\provadb\include\dbfunc.php on line 9

dbfunc.php è il secondo file di cui ho scritto il codice

Dovrebbe dipendere dallo scope delle variabili, ma come risolvo?
Alhazred è offline   Rispondi citando il messaggio o parte di esso
Old 04-12-2009, 20:45   #2
Torav
Senior Member
 
Iscritto dal: Dec 2005
Messaggi: 558
per utilizzare una variabile definita all'esterno in una funzione la devi dichiarare all'intero del corpo della funzione preceduta dalla keyword global:

Codice:
function registra($dati) { 
   global $conn;
   /* resto della funzione */
}
Torav è offline   Rispondi citando il messaggio o parte di esso
Old 04-12-2009, 21:10   #3
kurts
Senior Member
 
L'Avatar di kurts
 
Iscritto dal: Oct 2009
Città: Varese
Messaggi: 307
oppure potresti trasformare il primo pezzod i codice in una funzione che poi richiami nei files nei quali hai bisogno di accedere al db.

P.S.: meglio usare require_once piuttosto che include_once
kurts è offline   Rispondi citando il messaggio o parte di esso
Old 05-12-2009, 09:24   #4
Alhazred
Senior Member
 
L'Avatar di Alhazred
 
Iscritto dal: Dec 2003
Messaggi: 1759
Grazie ad entrambi, la soluzione con global l'avevo tentata, ma senza successo.
Poi ho scoperto che c'erano casini con gli include ed ho risolto.
Alhazred è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione Realme 15 Pro Game Of Thrones: un vero cimelio tech per pochi eletti Recensione Realme 15 Pro Game Of Thrones: un ver...
GIGABYTE GAMING A16, Raptor Lake e RTX 5060 Laptop insieme per giocare al giusto prezzo GIGABYTE GAMING A16, Raptor Lake e RTX 5060 Lapt...
iPhone 17 Pro: più di uno smartphone. È uno studio di produzione in formato tascabile iPhone 17 Pro: più di uno smartphone. &Eg...
Intel Panther Lake: i processori per i notebook del 2026 Intel Panther Lake: i processori per i notebook ...
Intel Xeon 6+: è tempo di Clearwater Forest Intel Xeon 6+: è tempo di Clearwater Fore...
Alla guida di nuova Alfa Romeo Tonale pl...
9 articoli su Amazon senza rivali, aggio...
HONOR svela il nuovo Watch 5 Pro e le cu...
MacBook Air 15'' con chip M4 in super of...
Apple ha perso un altro manager della di...
Quantic Dream cambia volto: Spellcasters...
Glen Schofield vuole realizzare Dead Spa...
Electronic Arts: lavoratori e sindacati ...
iPad Pro con M5: ecco quanta memoria uni...
L'app desktop di Messenger sarà d...
Così Amazon userà energia ...
Amazon espande Haul: nuovi prodotti e ma...
Google DeepMind e Commonwealth Fusion Sy...
Scontro tra bici elettriche su Amazon: H...
Sfida tra due super scope elettriche: Li...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 10:03.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v