[opgelost] Resultaat van een input query controleren
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
//=> Alle velden zijn ingevuld. Gegevens invoeren in de database.
if(!mysql_query("INSERT INTO inbox (user_id,title,message,dateCreated) VALUES (
'" . mysql_real_escape_string($_SESSION['gebruikerId']) . "',
'" . mysql_real_escape_string(trim($_POST['title'])) . "',
'" . mysql_real_escape_string(trim($_POST['message'])) . "',
'" . date("Y-m-d H:i:s") . "'
)"))
{
// Error melding weergeven
$rMess[] = 'Er is iets fout gegaan tijdens het invoeren van uw vraag in de database. ';
} else {
// Succes melding weergeven
$sMess[] = 'Uw vraag werd met succes toegevoegd aan de vragenlijst.';
}
?>
//=> Alle velden zijn ingevuld. Gegevens invoeren in de database.
if(!mysql_query("INSERT INTO inbox (user_id,title,message,dateCreated) VALUES (
'" . mysql_real_escape_string($_SESSION['gebruikerId']) . "',
'" . mysql_real_escape_string(trim($_POST['title'])) . "',
'" . mysql_real_escape_string(trim($_POST['message'])) . "',
'" . date("Y-m-d H:i:s") . "'
)"))
{
// Error melding weergeven
$rMess[] = 'Er is iets fout gegaan tijdens het invoeren van uw vraag in de database. ';
} else {
// Succes melding weergeven
$sMess[] = 'Uw vraag werd met succes toegevoegd aan de vragenlijst.';
}
?>
De bedoeling is uiteraard om een aantal waardes in de database te proppen. Maar de controle werkt niet. Het veld 'dateCreated' bestaat namelijk helemaal niet en er zou dus een dikke vette error moeten volgen maar dat gebeurt niet. Hoe kan ik nou het beste controleren of een input-query slaagt of niet?
Ik heb trouwens ook al mysql_insert_id() geprobeerd, maar dat levert niets op.
EDIT:
Excuses. Een verkeerde sessie-aanroep leverde de fout op.
Inmiddels heb ik met mysql_affected_rows een goede controle.
OPGELOST.
Gewijzigd op 18/09/2010 20:49:05 door The Ultimate
Volgens mij is dat een fout van mysql. Net zoals dat als je bijvoorbeeld 'abcdefghi' in een vakje wilt proppen wat maar drie tekens kan bevatten. Mysql kapt het dan 'voor' je af, zonder te melden.
Ja, vindt het zowiezo raar dat ik geen melding krijg aangezien error_reporting op E_ALL staat. Maar wellicht geldt dat niet voor mysql_queries?
Zet E_ALL wel weer uit op en live website.
Jazekers, ik zal het niet vergeten uit te zetten! Thanks