Ik zit met een probleem cq vraag.
Ik heb vandaag PHP 5.3 vervangen door PHP 5.5
Nu kwam ik erachter dat mssql_connect niet meer werkt maar dat het naar
sqlsrv_connect is verandert.
Nu heb ik dit aangepast maar nu werkt mijn gehele mssql class niet meer.
Heb al een aantal dingen toegevoegd en verandert maar helaas mocht niet meer baten
Voorheen maakte ik zo een verbinding
private $_link;
public function connect($server='', $username='', $password='', $new_link=true)
{
$this->_link = mssql_connect($server, $username, $password, $new_link);
}
//Creating DB connection
$db = new MSSQL();
$db->connect('127.0.0.1\SQLEXPRESS','user','pass');
volgens MS moet het nu zo
$connectionInfo = array( "UID"=>"username",
"PWD"=>"password",
"Database"=>"test");
/* Connect using SQL Server Authentication. */
$conn = sqlsrv_connect( $serverName, $connectionInfo);
dus ik ben aan het veranderen geweest.
Op moment zit mijn connectie er zo uit
public function connect()
{
$this->_link = sqlsrv_connect($this->_Server, $this->_dbInfo);
if($this->_link == FALSE) {
echo "Unable to connect.</br>";
die( print_r( sqlsrv_errors(), true));
}
}
public function dbInfo()
{
$this->_dbInfo = array("UID"=>"user","PWD"=>"password");
$this->connect();
}
Zoals jullie kunnen zien staat er geen database omdat ik met MSSQL 4 verschillende databases heb aangemaakt. voor verschillende doeleinde van de website.
Nu is het zo dat als ik een database ga selecteren en vervolgens ook het resultaat wil krijgen
geeft die een foutmelding weer.
Warning: sqlsrv_num_rows() expects parameter 1 to be resource, boolean given in
Dit kan kloppen omdat die de database niet heeft kunnen pakken waar die het uit moet halen.
Volgens MS moet ik namelijk gelijk een Database opgeven als ik een verbinding met MSSQL tot stand wil brengen. Dus heb ik het aangepast naar dit
public function dbInfo()
{
$this->_dbInfo = array("UID"=>"user","PWD"=>"password","Database"=>$this->_database);
$this->connect();
}
Foutmelding zoals verwacht
Unable to connect.
Array ( [0] => Array ( [0] => IMSSP [SQLSTATE] => IMSSP [1] => -33 [code] => -33 [2] => Invalid value type for option Database was specified. String type was expected. [message] => Invalid value type for option Database was specified. String type was expected. ) )
wie kan mij hierbij helpen omdat ik het nu niet meer snap hoe ik dit het beste kan aanpakken.
Met vriendelijke groet,
Thomas de Vries