Chiarimento su funzione mysql_connect (neofita)

16 Mag 2013
10
0
0
Salve a tutti!

Dunque quello che vi scrive è un neofita di cms, quali joomla, o wordpress.

Vorrei avere un po' di delucidazioni riguardo alla funzione my_connect.

Dunque, wiki riporta ciò:

PHP:
<?php mysql_connect("localhost","tuousername","tuapassword") or die("Errore nella connessione MySQL"); ?>
Con questo codice, PHP tenta la connessione a localhost con l'username e la password forniti, in caso di fallimento, stampa il messaggio di errore.


Eppure la cosa non funziona. Se inserisco i vari attributi (localhost, tuousername,tuapassword)
sbagliati, non ricevo alcun messaggio di errore.

Invece, eseguendo questo:

PHP:
<?php $db = mysql_connect("localhost", "tuousername", "tuapassword") or die("Errore nella connessione MySQL"); mysql_select_db("test", $db) or die("Database inesistente"); ?>

Il tutto funziona a meraviglia. Ovvero, è come se della funzione mysql_connect fosse ininfluente, e fosse mysql_select_db quella che comanda. Difatti che siano giusti o sbagliati gli attributi (localhost, tuousername,tuapassword), non influisce sulla risoluzione. Conta il nome del database (parametro "test" della funzione mysql_select_db). Solo inserendo un database sbagliato si visualizza il messaggio d'errore "Database inesistente".

Potreste spiegarmi questa cosa?

Grazie dell'attenzione!
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
sono entrambe essenziali
la prima si connette, la seconda (se la connessione è andata a buon fine) seleziona il database che devi utilizzare
 
16 Mag 2013
10
0
0
Quindi praticamente, la prima si connette semplicemente e nient'altro?

Vorresti dirmi che forse la funzione die, non è compatibile con la funzione mysql_connect e di conseguenza non stampa nulla in caso di attributi (user,password) errati?


Allora perchè wiki dice ciò riguardo al primo codice php?
Con questo codice, PHP tenta la connessione a localhost con l'username e la password forniti, in caso di fallimento, stampa il messaggio di errore
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
si che è compatibile, la funzione si connette anzi meglio, cerca di connetteresi al server se non riesce da errore e quindi
die stampa il messaggio e fa morire lo scripit (die in inglese = muori) cioè lo interrompe e non lo fa continuare con le successive istruzioni.
in fase di sviluppo mentre si prova lo scripit sarebbe meglio che fosse
...or die (mysql_error());
in modo da sapere di quale errore si tratta.
se la connessione è avvenuta allora seleziona il database che devi usare. ecc...

poi non è detto che sia localhost potrebbe essere un server remoto (piccola imperfezione di wiki)

comunque meglio di wiki usa http://www.php.net/manual/en/ o guarda anche, per php https://www.mrw.it/php/ e per mysql https://www.mrw.it/mysql/
 
16 Mag 2013
10
0
0
Grazie mille per la risposta.
E come mai nonostante i parametri siano errati (user e password) questa porzione di codice mi stampa sempre "connessione avvenuta con successo?"

PHP:
<?php
    $connessione = mysql_connect("localhost", "my_angdm", "password")
        or die("Connessione non riuscita: " . mysql_error());
    print ("Connessione avvenuta con successo");
    mysql_close($connessione);
?>
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
sei sicuro che la connessione non avvenga?
per tagliare la testa al toro metti un var_dump e quarda cosa riporta
PHP:
<?php
    $connessione = mysql_connect("localhost", "my_angdm", "password")
        or die("Connessione non riuscita: " . mysql_error());
	var_dump($connessione);
    print ("Connessione avvenuta con successo");
    mysql_close($connessione);
?>
se ti da bool false non è riuscita, invece ti da resuorce la connessione è riuscita, quindi hai fatto qualche pasticcio con i parametri.
eventualmete togli localhost e scrivici pinco_pallo (non credo che esista un server che si chiami così)
 
16 Mag 2013
10
0
0
Sia cambiando il nome "localhost" con "pincopallino", che inserendo la porzione di codice da te indicatami (con il var_dumb) il risultato è lo stesso:

Connessione avvenuta con successo
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
se stai provando in locale (come sembra) puo essere che il tuo mysql sia impostato in modo che non siano necessarie le pass.
dal manuale php
Returns a MySQL link identifier on success or FALSE on failure.
quindi se non si connette il die deve funziare
 
16 Mag 2013
10
0
0
No no, non è in locale.
Allora, dico un'ulteriore cosa.

Utilizzando il seguente codice
PHP:
<?php
if (mysql_select_db ("my_nomedatabase")) 
{
echo "Connessione avvenuta con successo";
}
else
die (mysql_error());
?>

raggiungo il mio scopo! Difatti inserendo un nome errato del database mi stampa l'errore. Viceversa, inserendo il nome esatto del database, stampa "Connessione avvenuta con successo".
Ma dico io, perchè la funzione mysql_select, va bene? Oltretutto senza necessità di connettersi (mysql_connect) al database??
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
orse ieri evidentemente dormivo e quindi sono tornato al tuo post #5.
l'ho copiato e lanciato, my_angdm non è l'user che uso
PHP:
<?php
    $connessione = @mysql_connect("localhost", "my_angdm", "password")
        or die("Connessione non riuscita: " . mysql_error());
    print ("Connessione avvenuta con successo");
    mysql_close($connessione);
?>
output
Connessione non riuscita: Access denied for user 'my_angdm'@'localhost' (using password: YES)

perchè dici che non funziona
p.s.
se tolgo il silent da anche l'errore prima
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
16 Mag 2013
10
0
0
In realtà mi sa che non ci stiamo capendo :quote::quote:


http://laurabrandiferri90.altervista.org/eseguibile_mysql.php

Qui risiede il codice php.

Il mio prima era un esempio.

<?php
$connessione = @mysql_connect("blabla", "pippobello", "password")
or die("Connessione non riuscita: " . mysql_error());
print ("Connessione avvenuta con successo");
mysql_close($connessione);
?>

Sia che i parametri (blabla, pippobello e password in questo caso non sono quelli che corrispondono al mio database) sono giusti o sbagliati, il programma mi stampa sempre.
"Connessione avvenuta con successo".

Perchè mai?
 
Ultima modifica:
Discussioni simili
Autore Titolo Forum Risposte Data
livellacri Chiarimento diritto all'oblio GDPR Leggi, Normative e Fisco 4
A Chiarimento indicazione ISP nel modello AA9 negozio on line E-Commerce 1
T chiarimento su google DFP Small Business Google AdSense 0
F chiarimento sul "nofollow" nei links di affiliazione HTML e CSS 4
A Chiarimento Cookie law Leggi, Normative e Fisco 8
otto9due Url sef e rel canonical un chiarimento SEO e Posizionamento 2
S chiarimento: ls Linux e Software 1
F [RISOLTO]chiarimento su preg_match() PHP 4
N chiarimento replaceWith jQuery 2
A chiarimento utilizzo @ PHP 2
R doamanda tecninca chiarimento vpn Reti LAN e Wireless 0
E guida ajax chiarimento codice js Ajax 1
Y Domandina di chiarimento HTML e CSS 10
D Rikiesta chiarimento Supporto Mr.Webmaster 1
G Chiarimento su Link Exchange Supporto Mr.Webmaster 3
I ciao ,volevo un chiarimento PHP 0
M Chiarimento HTML e CSS 5
Lino80 [Retribuito] Cerco programmatore php per modifica/inserimento funzione/valori da un plugin importer wordpress Offerte e Richieste di Lavoro e/o Collaborazione 0
R Variabile non risconosciuta dentro una funzione PHP 1
P Implementazione funzione FileReader Javascript 0
P Funzione copia multipla. Javascript 2
P Funzione jQuery Ajax invio file a php jQuery 1
A Funzione read URL PHP 6
F Funzione Glob - ricerca file contenente una parola PHP 1
A Mail con funzione mail() riconosciute come spam PHP 9
M Utilizzare la funzione mysql_num_rows() in PHP 5 PHP 3
A funzione iconv () non mi funziona PHP 4
D Come usare funzione php PHP 6
Y verificare condizione dopo esecuzione della funzione Programmazione 0
IClaude Funzione Javascript Javascript 8
A Funzione share come modificarla Social Media Marketing 0
L funzione onclik con seno e coseno non va Javascript 3
L funzione onclick non va Javascript 26
G modifica corretta funzione da eregi() a preg_match() PHP 3
Shyson Modificare funzione php PHP 15
L pdo (stampare un valore con ritorno a funzione) PHP 0
elpirata Funzione conversione da minuti in ore Javascript 0
@ [MS Access] Funzione Iif..is null... Database 0
F Funzione deprecata in PHP7 PHP 1
G [MS Access] Funzione ARROTONDA non definita nell'espressione MS Access 1
max1974 [Javascript] Funzione Errata procedura Javascript 2
pjtertdj Visualizzazione dati in php da mysql con funzione matematica in javascript PHP 1
Domenico_Falco1 Associare una stessa funzione get a due eventi a.click con classi differenti Ajax 6
psicomia Gestione funzione in javascript in tabella richiamare"textarea" valori preimpostati in "select" Javascript 2
L Problema funzione mail() PHP PHP 3
elpirata [Javascript] Lo script alle volte funzione altre volte no Javascript 0
V [Visual Basic] Richiamare funzione su modulo per restituire list Visual Basic 0
R [Photoshop] funzione colore automatico Photoshop 0
maxnegri [PHP]Funzione di calcolo prezzo di una camera in un range di date PHP 62
L [PHP] problema count messo in una funzione. PHP 1

Discussioni simili