Buongiorno bimbi...
allora dopo che mi avete aiutato a connettre il c# al mysql ora vi chiedo una mano per connettre il php al sql server
(php+mysql lo so già utilizzare bene)
come da manuale MS
1) scaricare i driver 2.0 php per mssql > fatto
2) includere il driver dentro le estensioni del php (php.ini) > fatto
extension=php_sqlsrv_52_ts_vc6.dll
3) creare un db sql server > fatto
C:\Users\Nicola\Documents\Personali\prova02.mdf
che contiene una tabella tab01 formata da ID + nome (questo db è inventato da me, che fantasia
)
4) crare la connessione
Codice PHP:
$serverName = "(local)\sqlexpress";
$connectionInfo = array( "Database"=>"prova02.mdf");
/* Connect using Windows Authentication. */
$conn = sqlsrv_connect( $serverName,$connectionInfo);
if( $conn === false )
{
echo "Unable to connect.</br>";
die( print_r( sqlsrv_errors(), true));
}
ma l' errore è questo :
Codice PHP:
Unable to connect.
Array ( [0] => Array ( [0] => 28000 [SQLSTATE] => 28000 [1] => 18456 [code] => 18456 [2] => [Microsoft][SQL Server Native Client 10.0][SQL Server]Accesso non riuscito per l'utente 'Nicola-PC\Nicola'. [message] => [Microsoft][SQL Server Native Client 10.0][SQL Server]Accesso non riuscito per l'utente 'Nicola-PC\Nicola'. ) [1] => Array ( [0] => 42000 [SQLSTATE] => 42000 [1] => 4060 [code] => 4060 [2] => [Microsoft][SQL Server Native Client 10.0][SQL Server]Impossibile aprire il database "prova02.mdf" richiesto dall'account di accesso. Accesso non riuscito. [message] => [Microsoft][SQL Server Native Client 10.0][SQL Server]Impossibile aprire il database "prova02.mdf" richiesto dall'account di accesso. Accesso non riuscito. ) [2] => Array ( [0] => 28000 [SQLSTATE] => 28000 [1] => 18456 [code] => 18456 [2] => [Microsoft][SQL Server Native Client 10.0][SQL Server]Accesso non riuscito per l'utente 'Nicola-PC\Nicola'. [message] => [Microsoft][SQL Server Native Client 10.0][SQL Server]Accesso non riuscito per l'utente 'Nicola-PC\Nicola'. ) [3] => Array ( [0] => 42000 [SQLSTATE] => 42000 [1] => 4060 [code] => 4060 [2] => [Microsoft][SQL Server Native Client 10.0][SQL Server]Impossibile aprire il database "prova02.mdf" richiesto dall'account di accesso. Accesso non riuscito. [message] => [Microsoft][SQL Server Native Client 10.0][SQL Server]Impossibile aprire il database "prova02.mdf" richiesto dall'account di accesso. Accesso non riuscito. ) )
allora ho provato a modificare la connessione senza la specifica del db ($connectionInfo) e funziona e ho esteso il codice aggiungendo una query
Codice PHP:
$serverName = "(local)\sqlexpress";
$connectionInfo = array( "Database"=>"prova02.mdf");
/* Connect using Windows Authentication. */
$conn = sqlsrv_connect( $serverName);
if( $conn === false )
{
echo "Unable to connect.</br>";
die( print_r( sqlsrv_errors(), true));
}
$server_info = sqlsrv_server_info( $conn);
if( $server_info )
{
foreach( $server_info as $key => $value)
{
echo $key.": ".$value."
";
}
}
echo"<hr>";
$client_info = sqlsrv_client_info( $conn);
if($client_info)
{
foreach( $client_info as $key => $value)
{
echo $key.": ".$value."
";
}
}
$tsql = "SELECT tab01.id,tab01.nome FROM prova02.tab01";
/* Execute the query. */
$stmt = sqlsrv_query($conn, $tsql);
if( $stmt === false )
{
echo "Error in statement execution.</br>";
die( print_r( sqlsrv_errors(), true));
}
e il risultato è stato che mi scrive tutti i dettagli della connessione , ma di eseguire la query proprio non ne vuole sapere ... qua vi chiedo una mano
info+ errore:
Codice PHP:
CurrentDatabase: master
SQLServerVersion: 10.00.2531
SQLServerName: NICOLA-PC\SQLEXPRESS
_____________________________----
DriverDllName: sqlncli10.dll
DriverODBCVer: 03.52
DriverVer: 10.00.2531
ExtensionVer: 2.0.1802.200
Error in statement execution.
Array ( [0] => Array ( [0] => 42S02 [SQLSTATE] => 42S02 [1] => 208 [code] => 208 [2] => [Microsoft][SQL Server Native Client 10.0][SQL Server]Il nome di oggetto 'prova02.tab01' non Š valido. [message] => [Microsoft][SQL Server Native Client 10.0][SQL Server]Il nome di oggetto 'prova02.tab01' non Š valido. ) )