Newsgroup: it.comp.www.php
Titolo: Connessione a database MySQL

Buongiorno a tutti.
Mi sono avvicinato da poco alla programmazione con l'accoppiata 
PHP5/MySQL5 e ho provato a realizzare il primo script, ma ovviamente 
non mi è riuscito! :)
Il codice è:
<?
include("config.inc.php");
$db = mysql_connect($db_host, $db_user, $db_password);
if($db == false)
   die ("Errore nella connessione. Verificare i parametri nel file 
config.inc.php");
$query="CREATE DATABASE IF NOT EXISTS $db_name; CHARACTER SET utf8 
COLLATE general_cs;";
if (mysql_query($query, $db))
       echo "Creazione database completata";
  else
       echo "Errore durante la creazione del database";
 
mysql_select_db($db_name, $db)
or die ("Errore nella selezione del database. Verificare i parametri 
nel file config.inc.php");
?>
dove le variabili sono contenute nel file config.inc.php:
<?
// parametri del database
$db_host = "localhost";
$db_user = "Admin";
$db_password = "********";
$db_name = "veicoli";
?>
Bene, se l'accesso lo effettuo dal client mysql (dal prompt di dos) 
tutto funziona, mentre se eseguo lo script, mi si restituisce il 
messaggio: 
File 'c:\mysql\share\charsets\?.conf' not found (Errcode: 2)
Character set '33' is not a compiled character set and is not specified 
in the 'c:\mysql\share\charsets\Index' file
Warning:  mysql_connect(): Client does not support authentication 
protocol requested by server; consider upgrading MySQL client in 
E:\Corsini\Install_Temp.php on line 4

Paolo Capasso ha scritto:

Problema risolto: l'inizio delle istruzioni php era sbagliato, dovevo 
scrivere <?php e non solo <? che ne pensate??....
Ora mi rimane comunque un problema sull'"include" in quanto mi da errore 
di variabile non definita, come se cioè non importasse il contenuto del 
file config.inc.
Qualcuno ha qualche suggerimento?
Grazie mille a tutti, buonanotte!

 contenuto del file config.inc.  
Incolla qui l'errore esattamente come viene visualizzato da PHP.
-- 
Vuoi distribuire il tuo sito web su CD/DVD?
Prova 
http://www.dwebpro.com/
Vuoi diventare un esperto analista PHP/MySQL?
Vieni a fare uno stage con noi: 
http://www.creativepark.it/stage/

 
E' di "undefined variable", da cui scaturisce un errore di mysql... ecco 
la dicitura precisa:
Inizializzazione Connessione al server...
Notice: Undefined variable: db_host in E:\Corsini\Install.php on line 10
Notice: Undefined variable: db_user in E:\Corsini\Install.php on line 10
Notice: Undefined variable: db_password in E:\Corsini\Install.php on line 10
Warning: mysql_connect() [function.mysql-connect]: Access denied for 
user 'ODBC'@'localhost' (using password: NO) in E:\Corsini\Install.php 
on line 10
Notice: Undefined variable: db_name in E:\Corsini\Install.php on line 17
Grazie mille!!

 10
Nel codice che hai postato in precedenza, la prima riga dove viene
utilizzato $db_host e' la 4. Nel messaggio di errore e' la 10. Potresti
postare, senza alcuna modifica, le prime 11 righe dell file
E:\Corsini\Install.php?


 
Hai perfettamente ragione, anche se i numeri son diversi, la 
funzionalità era rimasta comunque la stessa, perchè le righe che c'erano 
in mezzo le ho commentate.. ma ecco il codice :)
<?php
echo "Inizializzazione";
include("Config.inc.php");
/*$db_host = "localhost";
$db_user = "Admin";
$db_password = "croc0456";
$db_name = "veicoli";
*/
echo "Connessione al server...";
$db = mysql_connect($db_host, $db_user, $db_password);
if($db == false)
        echo "Errore nella connessione. Verificare i parametri nel file 
config.inc.php";

 c'erano in mezzo le ho commentate.. ma ecco il codice :)
Sostituisci il contenuto del file Config.inc.php con il seguente e
riprova:
<?php
// parametri del database
$db_host = "localhost";
$db_user = "Admin";
$db_password = "********";
$db_name = "veicoli";
?>
-- 


 
Mitico.. il tag <? senza indicare "php" mi ha fatto perdere una marea di 
tempo!!
Grazie mille!
D'ora in poi non dimenticherò mai di inserirlo :P, inoltre preferisco 
non attivare il tag abbreviato...
Grazie mille dei consigli!