INSERT INTO
Ik probeer een item aan mijn database toe te voegen. Het script geeft geen fout tot ik het verstuur.
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
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
//connect to database
$conn = mysqli_connect($db_host, $db_user, $db_pass, $db_name);
if (!$conn) { die ('Can not connect to MySQL: ' . mysqli_connect_error()); }
$sql = "INSERT INTO `db_bidprentjes` (`id`, `gedcomnummer`, `afbeelding`, `voornaam`, `voornaamzoek`, `voorzetsel`,
`achternaam`, `achternaamzoek`, `sexe`, `regio`, `geboortedatum`, `geboorteplaats`,
`doopdatum`, `doopplaats`, `overlijdensdatum`, `overlijdensplaats`, `begrafenisdatum`, `begrafenisplaats`, `crematie`,
`P1_id`, `P1_naam`, `P1_huwdatum`, `P1_huwplaats`, `P1_kerkdatum`, `P1_kerkplaats`,
`P2_id`, `P2_naam`, `P2_huwdatum`, `P2_huwplaats`, `P2_kerkdatum`, `P2_kerkplaats`,
`P3_id`, `P3_naam`, `P3_huwdatum`, `P3_huwplaats`, `P3_kerkdatum`, `P3_kerkplaats`,
`vader_id`, `vader`, `moeder_id`, `moeder`, `tekst`, `originelen`, `kopie`,
`Geboortekaart`, `Trouwkaart`, `Rouwkaart`, `Friesland`, `ArchiefRK`, `Verbergen`, `Doc`, `foto`)
VALUES (
`$Zidnr`, `$Ngedcomnummer`,`$Nafbeelding`,`$Nvoornaam`,`$Nvoornaamzoek`,`$Nvoorzetsel`,
`$Nachternaam`,`$Nachternaamzoek`,`$Nsexe`,`$Nregio`,`$Ngeboortedatum`,`$Ngeboorteplaats`,
`$Ndoopdatum`,`$Ndoopplaats`,`$Noverlijdensdatum`,`$Noverlijdensplaats`,`$Nbegrafenisdatum`,`$Nbegrafenisplaats`,`$Ncrematie`,
`$NP1_id`,`$NP1_naam`,`$NP1_huwdatum`,`$NP1_huwplaats`,`$NP1_kerkdatum`,`$NP1_kerkplaats`,
`$NP2_id`,`$NP2_naam`,`$NP2_huwdatum`,`$NP2_huwplaats`,`$NP2_kerkdatum`,`$NP2_kerkplaats`,
`$NP3_id`,`$NP3_naam`,`$NP3_huwdatum`,`$NP3_huwplaats`,`$NP3_kerkdatum`,`$NP3_kerkplaats`,
`$Nvader_id`,`$Nvader`,`$Nmoeder_id`,`$Nmoeder`,`$Ntekst`,`$Noriginele`,`$Nkopie`,
`$NGeboortekaart`,`$NTrouwkaart`,`$NRouwkaart`,`$NFriesland` , `$NArchiefRK`, `$NVerbergen`, `$NDoc`, `$Nfoto` )" ;
if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn = mysqli_connect($db_host, $db_user, $db_pass, $db_name);
if (!$conn) { die ('Can not connect to MySQL: ' . mysqli_connect_error()); }
$sql = "INSERT INTO `db_bidprentjes` (`id`, `gedcomnummer`, `afbeelding`, `voornaam`, `voornaamzoek`, `voorzetsel`,
`achternaam`, `achternaamzoek`, `sexe`, `regio`, `geboortedatum`, `geboorteplaats`,
`doopdatum`, `doopplaats`, `overlijdensdatum`, `overlijdensplaats`, `begrafenisdatum`, `begrafenisplaats`, `crematie`,
`P1_id`, `P1_naam`, `P1_huwdatum`, `P1_huwplaats`, `P1_kerkdatum`, `P1_kerkplaats`,
`P2_id`, `P2_naam`, `P2_huwdatum`, `P2_huwplaats`, `P2_kerkdatum`, `P2_kerkplaats`,
`P3_id`, `P3_naam`, `P3_huwdatum`, `P3_huwplaats`, `P3_kerkdatum`, `P3_kerkplaats`,
`vader_id`, `vader`, `moeder_id`, `moeder`, `tekst`, `originelen`, `kopie`,
`Geboortekaart`, `Trouwkaart`, `Rouwkaart`, `Friesland`, `ArchiefRK`, `Verbergen`, `Doc`, `foto`)
VALUES (
`$Zidnr`, `$Ngedcomnummer`,`$Nafbeelding`,`$Nvoornaam`,`$Nvoornaamzoek`,`$Nvoorzetsel`,
`$Nachternaam`,`$Nachternaamzoek`,`$Nsexe`,`$Nregio`,`$Ngeboortedatum`,`$Ngeboorteplaats`,
`$Ndoopdatum`,`$Ndoopplaats`,`$Noverlijdensdatum`,`$Noverlijdensplaats`,`$Nbegrafenisdatum`,`$Nbegrafenisplaats`,`$Ncrematie`,
`$NP1_id`,`$NP1_naam`,`$NP1_huwdatum`,`$NP1_huwplaats`,`$NP1_kerkdatum`,`$NP1_kerkplaats`,
`$NP2_id`,`$NP2_naam`,`$NP2_huwdatum`,`$NP2_huwplaats`,`$NP2_kerkdatum`,`$NP2_kerkplaats`,
`$NP3_id`,`$NP3_naam`,`$NP3_huwdatum`,`$NP3_huwplaats`,`$NP3_kerkdatum`,`$NP3_kerkplaats`,
`$Nvader_id`,`$Nvader`,`$Nmoeder_id`,`$Nmoeder`,`$Ntekst`,`$Noriginele`,`$Nkopie`,
`$NGeboortekaart`,`$NTrouwkaart`,`$NRouwkaart`,`$NFriesland` , `$NArchiefRK`, `$NVerbergen`, `$NDoc`, `$Nfoto` )" ;
if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
Ik kan het formulier invullen en verzenden. Maar bij versturen komt er een fout":
Error: INSERT INTO `db_bidprentjes` (`id`, `gedcomnummer`, `afbeelding`, `voornaam`, `voornaamzoek`, `voorzetsel`, `achternaam`, `achternaamzoek`, `sexe`, `regio`, `geboortedatum`, `geboorteplaats`, `doopdatum`, `doopplaats`, `overlijdensdatum`, `overlijdensplaats`, `begrafenisdatum`, `begrafenisplaats`, `crematie`, `P1_id`, `P1_naam`, `P1_huwdatum`, `P1_huwplaats`, `P1_kerkdatum`, `P1_kerkplaats`, `P2_id`, `P2_naam`, `P2_huwdatum`, `P2_huwplaats`, `P2_kerkdatum`, `P2_kerkplaats`, `P3_id`, `P3_naam`, `P3_huwdatum`, `P3_huwplaats`, `P3_kerkdatum`, `P3_kerkplaats`, `vader_id`, `vader`, `moeder_id`, `moeder`, `tekst`, `originelen`, `kopie`, `Geboortekaart`, `Trouwkaart`, `Rouwkaart`, `Friesland`, `ArchiefRK`, `Verbergen`, `Doc`, `foto`) VALUES ( `1825`, ``,``,``,``,``, ``,``,``,``,``,``, ``,``,``,``,``,``,``, ``,``,``,``,``,``, ``,``,``,``,``,``, ``,``,``,``,``,``, ``,``,``,``,``,``,``, ``,``,``,`` , ``, ``, ``, `` )
Unknown column '1825' in 'field list'
Weet even niet waar de fout te zoekn, heeft iemand een suggestie?
Gewijzigd op 15/10/2017 22:13:06 door Theo Huitema
Afgezien van het feit dat het een draak van een tabel is (normaliseer eens een beetje) is de foutmelding pijnlijk duidelijk. Je gebruikt ` ipv '. Leer ook gewoon meteen het gebruiken van backticks af, dat levert op termijn alleen maar gezeur op.
Verder kan je het zelf ook makkelijker maken door enters in je query te plaatsen. Een fout zie je dan zo in je ellenlange querie.
Verder zijn genummerde velden not-done in een database. Kijk ook eens naar Database-normalisatie.
Ben, bedankt ik heb al die ' tekens verwijderd en het werkt. Wel vreemd want ik gebruikte die omdat de phpmysql panel bij sql die code aangaf met '. Dit had ik daar vandaan gekopieerd. Maar bedankt, alle verwijderd en het werkte.
Code-tag is tussen blokhaken, en geen vissenhaakjes.