Ik heb een formulier gemaakt waarbij ik records kan aanpassen. Het werkt bij veel records maar bij sommige records springt hij terug op de oude gegevens en kan ik het niet aanpassen. Het lijkt me dat het dus aan de database ligt?

Bij speciale leestekens zoals ' en éó enzo krijg ik een vraagteken met een zwart vierkant blokje. Ben al een tijdje aan het zoeken en waar ik achter ben gekomen is dat alles op UTF 8 moet staan en dat is volgens mij het geval.

Kan iemand mij een hint geven?

Alvast bedankt!

Vriendelijke groet,
Martijn
Heb je een stukje code/database record?
Zodat wij dat kunnen bekijken?
Zorg ervoor dat:

- Al je bestanden de UTF-8 encoding staan.
- UTF-8 in je HTML: <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
- Dat je in PHP ook UTF-8 aangeeft: <?php header('Content-Type: text/html; charset=utf-8'); ?>
- Na je databaseconnectie UTF8 mee wordt gegeven.
- Je database tabellen en velden ook in UTF8 staan.
"- Na je databaseconnectie UTF8 mee wordt gegeven."

Hoe doe ik dit?

Ik heb dit voor de connectie:

<?php
header('Content-Type: text/html; charset=utf-8');
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = 'mysql';
$dbname = 'naamdatabase';
$dbCon=mysqli_connect($dbhost, $dbuser, $dbpass, $dbname);
// Check connection
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
?>
mysqli_set_charset()
Ja perfect! mysqli_set_charset() doet de truc! Nu niet meer van die rare vraagtekens met 'zwart vierkantje op zijn kant' er achter.

Het probleem van sommige records kan ik niet updaten maar andere wel is nog niet opgelost.
Krijg je een melding als je update?
En heb je
error_reporting(E_ALL);

aanstaan?
Hoi Kevin,
Nee ik krijg geen melding.
Ik heb error_reporting(E_ALL); aan staan inderdaad. Het raadselachtige is dat het bij het ene record wel en het andere record niet lukt. Een record is toch een record? Kunnen records in dezelfde tabel verschillende eigenschappen hebben?

nee als het goed is zover ik weet van mijn ervaringen kunnen records niet van elkaar verschillen.
Word de ene record misschien geblokkeerd door een if statement? Dat hij er niet aan voldoet en dus niet geupdate word?
EDIT: onderstaande is niet de oplossing.....
Het ligt volgens mij aan de relatie van verschillende tabellen. Als ik ON DELETE en ON UPDATE op CASCADE zet lijkt het goed te gaan.......

Reageren