INSERT probleem bij dubbele query
Ik ben Arjans simpele CMS aan het uitbreiden.
Na een post en het checken van de variabelen moeten er 2 tabellen worden aangepast. De eerste is content - tekst over activiteiten moet een UPDATE krijgen. De tweede gaat over de data waarop die activiteiten worden aangeboden: Als er een datum is gepost, dan moet er een INSERT in tabel events worden gedaan.
Echter, de 2e query werkt niet.
Ik zie de fout niet in de code. Iemand?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
$query = "UPDATE content SET titel = '".$titel."', content = '".$content."',type = '".$type."',datum = NOW() WHERE paginaid = ".$paginaid."";
$resultaat = mysql_query($query);
if($resultaat && mysql_affected_rows() == 1){
echo '<p>De <strong>content </strong> is succesvol geupdate.</p>'.BR;
}else{
echo '<p>Sorry, de <strong>content</strong> kon niet geupdate worden !</p>'.BR;
}
if(!empty($_POST['datum2'])){ // als datum niet leeg is -
$query2 = "INSERT INTO events (id, type, datum, voorpagina, omschrijving )
VALUES ('$paginaid','$type','$datum2','$voorpagina','$omschrijving')";
$resultaat2 = mysql_query($query2);
}else{}
if($resultaat2 && mysql_affected_rows() == 1) // als de query gelukt is echoen
{
echo '<p>De datum is succesvol geupdate.</p>'.BR;
}else{
echo '<p>Sorry, de datum kon niet geupdate worden !</p>'.BR;
}
?>
$query = "UPDATE content SET titel = '".$titel."', content = '".$content."',type = '".$type."',datum = NOW() WHERE paginaid = ".$paginaid."";
$resultaat = mysql_query($query);
if($resultaat && mysql_affected_rows() == 1){
echo '<p>De <strong>content </strong> is succesvol geupdate.</p>'.BR;
}else{
echo '<p>Sorry, de <strong>content</strong> kon niet geupdate worden !</p>'.BR;
}
if(!empty($_POST['datum2'])){ // als datum niet leeg is -
$query2 = "INSERT INTO events (id, type, datum, voorpagina, omschrijving )
VALUES ('$paginaid','$type','$datum2','$voorpagina','$omschrijving')";
$resultaat2 = mysql_query($query2);
}else{}
if($resultaat2 && mysql_affected_rows() == 1) // als de query gelukt is echoen
{
echo '<p>De datum is succesvol geupdate.</p>'.BR;
}else{
echo '<p>Sorry, de datum kon niet geupdate worden !</p>'.BR;
}
?>
Als je mysql query mislukt wil je natuurlijk wel altijd de foutmelding zien die mysql geeft. Vraag deze dus altijd op met mysql_error().
ini_set('display_errors', 1);
error_reporting(E_ALL);
bovenaan de (hele!) code?
Dus bijvoorbeeld iets als:
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
if(!$res = mysql_query($sql))
{
trigger_error(mysql_errno().' :'.mysql_error());
}
else
{
// Verder gaan met je script
}
?>
if(!$res = mysql_query($sql))
{
trigger_error(mysql_errno().' :'.mysql_error());
}
else
{
// Verder gaan met je script
}
?>
Dank, ik heb het geprobeerd en de fout gevonden. Verkeerd ingerichte DB.