mysqli slaat gegevens niet op !
Hallo
Ik probeer de mysqli toe te passen. Ik maak verbinding met deze connectie: (dit lukt)
Insert in de databank:
Geeft geen foutmeldingen !
Thx.
Ik probeer de mysqli toe te passen. Ik maak verbinding met deze connectie: (dit lukt)
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);
include('includes/header.php');
include('content.php');
include('includes/footer.php');
?>
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);
include('includes/header.php');
include('content.php');
include('includes/footer.php');
?>
Code (php)
Insert in de databank:
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?php
// toevoegen aan de database
$query="INSERT INTO
`advertenties`
(`id`, `naam`, `payed`, `foto`, `foto1`, `foto2`, `foto3`, `email`, `nb`, `titel`, `website`, `tekst`, `telefoon`, `gepl_op`, `gepl_tot`, `cat_id`, `bevestig`, `ip`, `provider`)".
" VALUES ('". mysql_real_escape_string ($naam) ."', '". mysql_real_escape_string($betaling) ."', '". mysql_real_escape_string($foto) ."', '". mysql_real_escape_string($foto1) ."', '". mysql_real_escape_string($foto2) ."', '". mysql_real_escape_string($foto3) ."', '". mysql_real_escape_string ($email) ."', '". mysql_real_escape_string($nb) ."', '". mysql_real_escape_string ($titel) ."', '". mysql_real_escape_string ($website) ."', '". mysql_real_escape_string ($tekst) ."', '". mysql_real_escape_string ($telefoon) ."', '". mysql_real_escape_string($timestamp) ."' , '". mysql_real_escape_string($timestamp2)."', '". mysql_real_escape_string ($categorie) ."', '". mysql_real_escape_string($bevestig) ."', '" .mysql_real_escape_string ($_SERVER['REMOTE_ADDR'])."', '" .gethostbyaddr($_SERVER['REMOTE_ADDR'])."')";
$result = $mysqli->query($query);
$result->close();
?>
// toevoegen aan de database
$query="INSERT INTO
`advertenties`
(`id`, `naam`, `payed`, `foto`, `foto1`, `foto2`, `foto3`, `email`, `nb`, `titel`, `website`, `tekst`, `telefoon`, `gepl_op`, `gepl_tot`, `cat_id`, `bevestig`, `ip`, `provider`)".
" VALUES ('". mysql_real_escape_string ($naam) ."', '". mysql_real_escape_string($betaling) ."', '". mysql_real_escape_string($foto) ."', '". mysql_real_escape_string($foto1) ."', '". mysql_real_escape_string($foto2) ."', '". mysql_real_escape_string($foto3) ."', '". mysql_real_escape_string ($email) ."', '". mysql_real_escape_string($nb) ."', '". mysql_real_escape_string ($titel) ."', '". mysql_real_escape_string ($website) ."', '". mysql_real_escape_string ($tekst) ."', '". mysql_real_escape_string ($telefoon) ."', '". mysql_real_escape_string($timestamp) ."' , '". mysql_real_escape_string($timestamp2)."', '". mysql_real_escape_string ($categorie) ."', '". mysql_real_escape_string($bevestig) ."', '" .mysql_real_escape_string ($_SERVER['REMOTE_ADDR'])."', '" .gethostbyaddr($_SERVER['REMOTE_ADDR'])."')";
$result = $mysqli->query($query);
$result->close();
?>
Geeft geen foutmeldingen !
Thx.
Hoe weet je dat hij geen foutmeldingen geeft als je er niet op checkt?
Overigens zal je dan merken dat hij wel een foutmelding geeft, namelijk dat het aantal waardes niet overeenkomt met het aantal kolommen. Je geeft 19 kolommen op en maar 18 waardes. Dat klopt niet. Je eerste kolom (id) is neem ik aan een auto increment? In dat geval moet je die helemaal niet meenemen in je insert query. Kolom id weglaten zou dus al moeten helpen.
Slag om de arm: ik heb de rest van je query niet bekeken, er kan dus nog wel meer fout zijn (en in elk geval nog veel te verbeteren).
Overigens zal je dan merken dat hij wel een foutmelding geeft, namelijk dat het aantal waardes niet overeenkomt met het aantal kolommen. Je geeft 19 kolommen op en maar 18 waardes. Dat klopt niet. Je eerste kolom (id) is neem ik aan een auto increment? In dat geval moet je die helemaal niet meenemen in je insert query. Kolom id weglaten zou dus al moeten helpen.
Slag om de arm: ik heb de rest van je query niet bekeken, er kan dus nog wel meer fout zijn (en in elk geval nog veel te verbeteren).
Indien je toch MySQLi gebruikt, waarom gebruik je dan mysql_real_escape_string?... je kan met MySQLi mooie prepared statements maken, dan hoef je ook niet te escapen... bijvoorbeeld:
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
// toevoegen aan de database
$query = "INSERT INTO `advertenties` (`naam`, `payed`, `foto`, `foto1`, `foto2`,
`foto3`, `email`, `nb`, `titel`, `website`, `tekst`, `telefoon`,
`gepl_op`, `gepl_tot`, `cat_id`, `bevestig`, `ip`, `provider`)
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
if ($result = $mysqli->prepare($query)) {
$result->bind_param("ssssssssssssssssss", $naam, $betaling, $foto, $foto1, $foto2, $foto3, $email, $nb,
$titel, $website, $tekst, $telefoon, $timestamp, $timestamp2,
$categorie, $bevestig, $_SERVER['REMOTE_ADDR'],
gethostbyaddr($_SERVER['REMOTE_ADDR']) );
$result->execute();
}
else{
echo $mysqli->error."<br>";
}
$result->close();
?>
// toevoegen aan de database
$query = "INSERT INTO `advertenties` (`naam`, `payed`, `foto`, `foto1`, `foto2`,
`foto3`, `email`, `nb`, `titel`, `website`, `tekst`, `telefoon`,
`gepl_op`, `gepl_tot`, `cat_id`, `bevestig`, `ip`, `provider`)
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
if ($result = $mysqli->prepare($query)) {
$result->bind_param("ssssssssssssssssss", $naam, $betaling, $foto, $foto1, $foto2, $foto3, $email, $nb,
$titel, $website, $tekst, $telefoon, $timestamp, $timestamp2,
$categorie, $bevestig, $_SERVER['REMOTE_ADDR'],
gethostbyaddr($_SERVER['REMOTE_ADDR']) );
$result->execute();
}
else{
echo $mysqli->error."<br>";
}
$result->close();
?>




