Impossibile selezionare il database

pino771

Nuovo Utente
30 Mag 2014
7
0
0
Buonasera a tutti i membri del forum, sono un nuovo utente registrato da poco, solo oggi, e sto imparando PHP da autodidatta su un manuale comprato qualche settimana fa. Sto cercando di sperimentare uno script php che stabilisca una connessione Mysql ad un database e in effetti la connessione avviene senza problemi, ma purtroppo poi non riesco a selezionare nessun database e l'avviso che mi viene restituito è il seguente:

"Warning: mysql_select_db() expects parameter 2 to be resource, object given in C:\wamp\www\..."

il codice che utilizzo è il seguente:


db_login.php
PHP:
<?php
$db_host="localhost";
$db_database="store";
$db_username="root";
$db_password="";
?>
file php
PHP:
<?php
include("db_login.php");
$connessione=mysqli_connect($db_host, $db_username, $db_password);
if (!$connessione) {
	die ("Impossibile connettersi al database<br>").mysql_error(); //la funzione die() viene utilizzate per arrestare l'esecuzione di un codice
}
else {
	echo ("Connessione OK");
}		
$selezione_db=mysql_select_db($db_database, $connessione);
	if(!$selezione_db){
		die ("Impossibile selezionare il database: <br />".mysql_error());
}
mysql_close($connessione);
?>

Gli script li sto provando sul server in locale WampServer 2.5, Apache 2.4.9, PHP 5.5.12 e Mysql 5.6.17

Grazie a chiunque voglia darmi qualche suggerimento utile.
 
Ultima modifica di un moderatore:
Ciao,

potresti provare così:

database.php
PHP:
<?php
$dbConn = "";
$dbHost = "INDIRZZO DEL SERVER";
$dbName = "NOME DEL DATABASE";
$dbUser = "UTENTE";
$dbPass = "PASSWORD";
function apri() {
    global $dbHost, $dbUser, $dbPass, $dbName, $dbConn;
    $dbConn = mysql_connect( $dbHost, $dbUser, $dbPass );
    mysql_select_db( $dbName ) or die(mysql_error());
}

function chiudi() {
    global $dbConn;
    mysql_close( $dbConn );

}
?>

quindi quando hai bisogno del database in una pagina fai:

PHP:
require("PERCORSO_DEL_FILE/database.php;
apri();

e per chiudere

PHP:
chiudi();
 
Ti sconsiglio fortemente di utilizzare la soluzione proposta da neo996sps in quanto usa mysql che ormai è deprecato dalle nuove versioni di php. Il tuo problema è che stai mischiando mysqli con mysql che sono due cose diverse :)
Ti consiglio di fare tutto in mysqli.
 
la mia infatti è una soluzione di prova. A volte quei software sever hanno configurazioni particolari che non fanno andare gli script. Io ne so qualcosa da quando ho imparato PHP.

Poi basta migrare il tutto a mysqli che si fa in un attimo
 
Grazie veramente per le risposte, non appena mi libero da lcuni impegni farò delle prove e mi farò risentire con qualche risultato utile.
Alla prossima.
 
Ciao, grazie tante per i suggerimenti, ho continuato a provare con il codice e con l'aiuto anche del manuale correggendo il codice che adesso funziona.

db_login.php:

<?php
$dbHost = "localhost";
$dbName = "store";
$dbUser = "root";
$dbPass = "";
?>





testmysql.php:

<?php

// connessione al database

include ("db_login.php");
$conn = mysql_connect($dbHost,$dbUser,$dbPass);
if (!$conn) {
die("Impossibile connettersi al database MySQL:<br />" . mysql_error());
}


// selezione del database

$selez=mysql_select_db ($dbName);
if (!$selez) {
die ("Non è possibile selezionare il database <br />".mysql_error());
}


// costruzione della query select

$query="select * from libri natural join autori";


// esecuzione della query

$risultato=mysql_query($query);
if(!$risultato){
die("Non è possibile eseguire la query sul database <br /)".mysql_error());
}

// prelievo e visualizzazione dei risultati

while ($riga_risultati=(mysql_fetch_assoc ($risultato))){ // con la funzione "mysql_fetch_assoc" i risultati sono indicizzati
in un array basato sui nomi delle colonne nella query.
echo "Titolo: ".$riga_risultati["titolo"] . "<br />";
echo "Autore: ".$riga_risultati["autore"] . "<br />";
echo "Pagine: ".$riga_risultati["pagine"] . "<br /><br />";
}


mysql_close ($conn);

?>
 
Ciao pino771, usa i tag per incapsulare il codice che posti.
Li trovi sulla seconda riga della barra di formattazione, oppure le ultime icone nella risposta rapida.
 

Discussioni simili