Als er geen connectie tot stand zou kunnen worden gebracht,
zou ik dus te zien krijgen: 'kon geen verbinding maken' of 'kon
geen database selecteren'. Dit gebeurt niet, dus je zou denken
dat er een connectie tot stand is gebracht. Niet dus.. Zogauw
dat als ik er een query in gooi, gaat hij op zijn bek, en krijg
ik de volgende error:
Citaat:
MySQL Error:
Warning: mysql_select_db() [function.mysql-select-db]: Access denied for user 'ODBC'@'localhost' (using password: NO) in D:ProgrammasXAMPPxampphtdocswebshopincludesconfig.inc.php on line 30
Weet iemand hoe ik dit kan oplossen, of kan dit ook aan mijn
phpmyadmin o.i.d liggen (Aangezien ik nu voor het eerst XAMPP
gebruik. Eerder altijd yellowtip, en toen werkte deze manier
(volgensmij 100% precies hetzelfde) wel)
<?PHP
function connect_sql_database ()
{
global $cfg_host; global $cfg_user; global $cfg_pass;
return mysql_connect ($cfg_host, $cfg_user, $cfg_pass);
}
?>
<?PHP
function connect_sql_database ()
{
global $cfg_host; global $cfg_user; global $cfg_pass;
return mysql_connect ($cfg_host, $cfg_user, $cfg_pass);
}
function select_sql_database ($rResult)
{
global $cfg_db;
return mysql_select_db ($cfg_db, $rResult);
}
?>
Nee, ik krijg het normaal ook niet. Zo deed ik het bij mijn forum
ook ooit een keer, en dat werkte prima. Nu ik een andere Apache
webserver heb, gaat hij hem flippen (phpv 5.1.4 though..)
daarom vind ik het ook zo ontzettend vreemd..
rensjeh, dat was als voorbeeld.. hoe een standaard connectje
eruit ziet snappie.. mjah forget about that ok? Die ik geprobeerd
had klopte wel, trust me ;)
FargorN: Zover ik weet, en heb ik ook gecontroleerd heeft die
gebruiker wel alle rechten, in alle tabellen.
Het gaat pas fout bij het uitvoeren bij een query. Dus hij heeft
wel een connectie opgebouwd:
Citaat:
MySQL Error:
Warning: mysql_query() [function.mysql-query]: Access denied for user 'ODBC'@'localhost' (using password: NO) in D:ProgrammasXAMPPxampphtdocswebshopincludesfunctions.inc.php on line 45
omdat ik templatepower gebruik. Zodra er geen connectie is
met het database een nette error weergeven in de include
van error.php (.tpl) mbv variabelen
Thomas - 14/07/2006 09:33 (laatste wijziging 14/07/2006 09:33)
Moderator
Hmm, heb jij een user gemaakt door rechtstreeks mysql.db en mysql.user aan te passen, of heb je gebruik gemaakt van GRANT?
In het eerste geval moet je namelijk of de MySQL-server herstarten, of het commando FLUSH PRIVILEGES uitvoeren om de user in staat te stellen om met een database te werken (zonder de MySQL-server te herstarten).
Anders zou ik het ook niet weten - post hier, of als het erg veel code is op plaatscode.be, de code die je nu gebruikt?
Heb je ook al geprobeerd om een connectie te maken met je db en een db te selecteren zonder de functies die jij gebruikt? Hierbij kun je dan het beste ... or die(mysql_error()) zetten om snel inzicht te krijgen in de fouten die zich voordoen.
Hehe ja, MySQL draait teneerste wel. Ten tweede heb ik het probleem
nu wat verder uitgezocht (vannacht). Ik heb het script nu ook
getest op mijn server, en daar heb ik precies hetzelfde. Me broer
om hulp gevraagd en hij heeft teneerste met het plaatsen
van mijn 2 connect functies in een class. Nu roep ik mijn class als
volgt aan:
Het is duidelijk geworden dat als ik mijn connect gegevens in
mijn config.inc.php plaats dat het gewoon allemaal perfect
werkt. Connectie wordt tot stand gebracht, alles kan worden
uitgeladen (server en localhost), maar plaats ik die connectie
gegevens (PRECIES ZOALS IN CONFIG.INC.PHP) in mijn index.php
werkt het direct al niet meer, wat ik echt super vreemd vind.
Vaag.
Verbreek je ergens de connectie (mysql_close()) of maak je een anderen connectie aan (2e mysql_connect)?
Default wordt er altijd gecommuniceerd met de laatst geconnecte database, tenzij je de link_identifier die mysql_connect retourneert opslaat en deze gebruikt om aan te geven welke db je wilt aanspreken.
Nee, er is geen andere connect in 1 van mijn files of wat dan ook.
Verder close ik ook niets. Gewoon 1 enkele connect die wel werkt
in config.inc.php maar niet op index.php :/
Gebruik gewoon eens enkel mysql_connect en mysql_select_db, met direct hierin de gegevens in string-vorm.
Zo kun je namelijk nagaan of het aan de database ligt, of aan de functies die jij introduceert (die verder niet zoveel doen overigens).
Maak dus gebruik van een "separation of concerns". Gooi alles weg wat het oplossen van je probleem moeilijker maakt, en werk dan langzaam terug naar je huidige niet-werkende situatie, want dit schiet echt niet op.