Probleem met mysql insert in een functie

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

David Willems

David Willems

07/06/2010 18:02:24
Quote Anchor link
Dag allemaal,

ik heb een functie gemaakt die ervoor zorgt dat mails met een mooie layout worden opgebouwd. Wanneer de (html-)layout in een variabele zit wordt deze via het mail() commando verstuurd.
Nu probeer ik onderaan de functie een mysql insert te doen die elke mail in een logboek stopt wegens spam problemen. Het probleem is nu dat de query niet uitgevoerd wordt/werkt. Als ik de query voor de functie zet werkt het wel.

Ik krijg via het die() commando volgende error:
Access denied for user 'apache'@'localhost' (using password: NO)

Kan iemand mij hierbij helpen?

Alvast bedankt,
David.
 
PHP hulp

PHP hulp

18/12/2024 15:06:38
 
Martijn B

Martijn B

07/06/2010 18:23:34
Quote Anchor link
Het lijkt erop dat je geen database verbinding meer hebt. De functie probeert dan een verbinding aan te maken.

Zie uitleg bij 2e parameter van:
http://nl3.php.net/manual/en/function.mysql-query.php
 
Erik Rijk

Erik Rijk

07/06/2010 18:38:39
Quote Anchor link
Kan je wat code laten zien?

Is het soms dat je binnen een functie een query wilt uitvoeren maar binnen die functie worden de connectie gegevens niet herkent? global gebruiken?
 
David Willems

David Willems

07/06/2010 18:59:22
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
function sendMail($email,$subject,$message,$fromname,$frommail){

//
//
// HTML mail opbouwen
//
//...

// Mail it

if(mail($email, $subject, $body, $headers)){
    $succes="true";
}
else{
    $succes="false";
}

mysql_query("INSERT INTO email_log(date,from,frommail,to,subject,succes) VALUES('$date','$fromname','$frommail','$email','$subject','$succes')") or die(mysql_error());

}

?>


Voor deze functie kan ik wel query uitvoeren. De query in deze functie geeft een error.
Gewijzigd op 07/06/2010 19:04:21 door David Willems
 
Piet Verhagen

Piet Verhagen

07/06/2010 19:33:05
Quote Anchor link
Dat komt omdat de database connectie voor de functie wel beschikbaar is, maar in de functie niet. Ergens voor de functie heb je zo iets als:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$connectie = mysql_connect($server,$username,$password);

In de functie is variabele $connectie niet beschikbaar en dus is ook de database connectie niet beschikbaar. Om variabele $connectie in de functie ook beschikbaar te maken doe je in de functie:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$connectie = $GLOBALS['connectie'];
Dan werkt het wel.
Gewijzigd op 07/06/2010 19:33:27 door Piet Verhagen
 
David Willems

David Willems

07/06/2010 23:06:43
Quote Anchor link
Piet Verhagen op 07/06/2010 19:33:05:
Dat komt omdat de database connectie voor de functie wel beschikbaar is, maar in de functie niet. Ergens voor de functie heb je zo iets als:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$connectie = mysql_connect($server,$username,$password);

In de functie is variabele $connectie niet beschikbaar en dus is ook de database connectie niet beschikbaar. Om variabele $connectie in de functie ook beschikbaar te maken doe je in de functie:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$connectie = $GLOBALS['connectie'];
Dan werkt het wel.


Met $connectie = $GLOBALS['connectie']; in de code geeft hij nog steeds dezelfde error. Dit moest toch IN de FUNCTIE zelf staan hé? Heb hem nu bovenaan staan...
 
- SanThe -

- SanThe -

07/06/2010 23:11:01
Quote Anchor link
Roep je de function wel aan NA het connecten mat de database?
Verder is $date onbekend in de function.
Waar is de foutafhandeling?
 
David Willems

David Willems

08/06/2010 13:36:57
Quote Anchor link
Ik heb het probleem net gevonden, in al mijn pagina's wordt bovenaan de php file geinclude waarin verbinding wordt gemaakt met de databank. Wat ik wel vergeten was dat deze functie via een ander -door een javascript- php file aangeroepen werd, in deze file werd dan ook geen verbinding gemaakt :P

Nu zit nog wel met het probleem dat hij de query een syntax error geeft, hier geraak ik denk ik zelf wel uit, anders horen jullie het wel ;)

Bedankt voor jullie hulp!
David
 
David Willems

David Willems

10/06/2010 15:55:16
Quote Anchor link
Voila, dat is ook opgelost. Het probleem zat hem niet in de query maar in een fout in de database.

Grtz
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.