Unknown column in 'field list'
Unknown column 'bericht' in 'field list'
Dit krijg ik als ik mijn query echo:
Code (sql)
1
2
2
'INSERT INTO `dieren` (naam, soort, werelddeel, land, bericht) VALUES ('Aziatische olifant', 'Duizendpoten', 'Afrika', 'India', '
Dit is een testbericht')
Dit is een testbericht')
Blijkbaar mist er ergens een apostrof, maar ik weet niet waar...
Dit is mijn code voor dit script:
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
<?php
class Admin{
private $host = 'localhost';
private $user = 'xxxx';
private $password = 'xxxx';
private $database = 'xxxx';
function MakeAnimal(){
if(isset($_POST['button'])){
$name = $_POST['naam'];
$species = $_POST['soort'];
$continent = $_POST['werelddeel'];
$country = $_POST['land'];
$message = $_POST['bericht'];
$tellen = 0;
$return = "";
if($name == ""){
$return.= "<div class='error'>Je hebt geen naam ingevuld!</div>";
$tellen ++;
}
if($country == ""){
$return.= "<div class='error'>Je hebt geen land ingevuld!</div>";
$tellen ++;
}
if($message == ""){
$return.= "<div class='error'>Je hebt geen bericht ingevuld.</div>";
}
if($tellen < 1){
$mysqli = new mysqli($this->host, $this->user, $this->password, $this->database);
$sql = "INSERT INTO `dieren` (naam, soort, werelddeel, land, bericht) VALUES ('$name', '$species', '$continent', '$country', '$message')";
if($mysqli->query($sql)){
$return.= "<div class='yes'>Het dier is succesvol toegevoegd! Je kan er nog een toevoegen, als je wil.</div>";
$return.= $sql;
}else{
$return.= $mysqli->error;
$return.= $sql;
}
}
}else{
$return = "";
}
return $return;
}
}
?>
class Admin{
private $host = 'localhost';
private $user = 'xxxx';
private $password = 'xxxx';
private $database = 'xxxx';
function MakeAnimal(){
if(isset($_POST['button'])){
$name = $_POST['naam'];
$species = $_POST['soort'];
$continent = $_POST['werelddeel'];
$country = $_POST['land'];
$message = $_POST['bericht'];
$tellen = 0;
$return = "";
if($name == ""){
$return.= "<div class='error'>Je hebt geen naam ingevuld!</div>";
$tellen ++;
}
if($country == ""){
$return.= "<div class='error'>Je hebt geen land ingevuld!</div>";
$tellen ++;
}
if($message == ""){
$return.= "<div class='error'>Je hebt geen bericht ingevuld.</div>";
}
if($tellen < 1){
$mysqli = new mysqli($this->host, $this->user, $this->password, $this->database);
$sql = "INSERT INTO `dieren` (naam, soort, werelddeel, land, bericht) VALUES ('$name', '$species', '$continent', '$country', '$message')";
if($mysqli->query($sql)){
$return.= "<div class='yes'>Het dier is succesvol toegevoegd! Je kan er nog een toevoegen, als je wil.</div>";
$return.= $sql;
}else{
$return.= $mysqli->error;
$return.= $sql;
}
}
}else{
$return = "";
}
return $return;
}
}
?>
Graag in het vervolg bij alle codes de -tags gebruiken.[/modedit]
Gewijzigd op 30/08/2013 18:02:09 door Nick Dijkstra
Blijkbaar bestaat de kolom 'bericht' niet in je tabel waarin je probeert in te voeren.
Hij zegt dus letterlijk dat er geen kolom bericht bestaat. Misschien moet het met een hoofdletter?
Controleer of je de juiste host hebt, de juiste database en de juiste tabel.
Maak van Bericht eens varchar(100), en probeer het dan eens?