Hallo allen,

Momenteel ben ik bezig om een connectie te leggen tusse php, en sybase. Volgens mij is de connectie gelukt, maar zit ik nog in de verkeerde database. Nu is de vraag hoe ik in de goede database terecht kan komen?

Notice: 'master' is de database die hij standaard opent wanneer de connectie gelegd is in bijvoorbeeld "sql advanced"
Hieronder de code;

<?php
$db = @sybase_connect("sybaseserver", "username", "wachtwoord","Database")
or die("kan geen verbinding maken: ". sybase_error());

$sql = "select * from T_Country";
$resultaat = sybase_query($sql);

while($rij = sybase_fetch_array($resultaat))
{
echo"<p>".$rij["T_Country"]."</p>";
}
?>

Foutmelding
****************************************
Code hier tussen verdwijnt wanneer wij het @ teken gebruiken voor sybase connect.
************************************
Warning: sybase_connect() [function.sybase-connect]: Sybase: Unable to update character set in Cwamp\www\Intranet_tbp\index.php on line 61

Warning: sybase_connect() [function.sybase-connect]: Sybase: Server message: Changed database context to 'master'. (severity 10, procedure N/A) in Cwamp\www\Intranet_tbp\index.php on line 61
************************************

De code hier tussen blijft staan
*************************************
Warning: sybase_query() [function.sybase-query]: Sybase: Server message: T_Country not found. Specify owner.objectname or use sp_help to check whether the object exists (sp_help may produce lots of output). (severity 16, procedure N/A) in Cwamp\www\Intranet_tbp\index.php on line 65

Warning: sybase_fetch_array(): supplied argument is not a valid Sybase result resource in Cwamp\www\Intranet_tbp\index.php on line 69
*************************************


Alvast bedankt voor jullie hulp!
Een oplossing voor je probleem heb ik niet direct. Ik kan je wel vertellen waarom de foutmelding verdwijnt bij het toevoegen van de @.

Wanneer je een @ voor een functie zet wordt een eventuele foutmelding van die functie onderdrukt. Dit kan wenselijk zijn wanneer je bijvoorbeeld zelf al foutafhandeling hebt ingebouwd en je de bezoeker dus geen lelijke error wilt laten zien als een functie mislukt.
Dat is mij bekend, maar ik heb ook al fora gelezen waar mensen wel data op hun scherm kregen maar met die foutmelding. Nu kan ik foutmelding idd weghalen, maar lijkt het of dat hij naar de master datbase connect en niet naar de produktieDB.

Ik heb ook de functie sybase_select_db al gebruikt maar dan krijg ik de volgende melding;

Warning: sybase_connect() [function.sybase-connect]: Sybase: Unable to update character set in C:\wamp\www\Intranet_tbp\index.php on line 61

Warning: sybase_connect() [function.sybase-connect]: Sybase: Server message: Changed database context to 'master'. (severity 10, procedure N/A) in C:\wamp\www\Intranet_tbp\index.php on line 61

Warning: sybase_select_db() [function.sybase-select-db]: Sybase: Server message: Changed database context to 'ProduktieDB'. (severity 10, procedure N/A) in C:\wamp\www\Intranet_tbp\index.php on line 63
$db = @sybase_connect("sybaseserver", "username", "wachtwoord","Database")

Dat "database" hoort daar niet te staan. Wanneer ik even php.net erbij pak staat daar dat het 4e argument optioneel is en dat het de character set moet zijn (dus niet de database).

Reageren