Probleem met mysql insert in een functie
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.
Is het soms dat je binnen een functie een query wilt uitvoeren maar binnen die functie worden de connectie gegevens niet herkent? global gebruiken?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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());
}
?>
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
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:
Dan werkt het wel.
Gewijzigd op 07/06/2010 19:33:27 door Piet Verhagen
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:
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:
Dan werkt het wel.
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:
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...
Verder is $date onbekend in de function.
Waar is de foutafhandeling?
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
Grtz