kun je de regel ook geven waar de mysqli_error() in staat?
want daar zit het probleem staat er in je foutmelding
Toevoeging op 01/06/2014 21:39:54:
waarschijnlijk moet je de mysqli_error() veranderen in: mysqli_error($dblink)
(dat maak ik op uit je veldmelding maar ik weet het niet zeker zonder je code te zien)
?
Onbekende gebruiker
01-06-2014 21:41
bedoel je dit?:
<?php
if(!$res=mysqli_query($dblink, $sql))
{
trigger_error('Fout in query: '.mysqli_error());
}
?>
<?php
if(!$res=mysqli_query($dblink, $sql))
{
trigger_error('Fout in query: '.mysqli_error($dblink));
}
?>
?
Onbekende gebruiker
01-06-2014 21:45
gewijzigd op 01-06-2014 22:06
Aangepast, krijg nu een hele andere foutmelding, maar die is me duidelijk, dank je voor de tip!
Toevoeging op 01/06/2014 21:52:15:
Nu heb ik wel een ander probleem, en dat is dat bij het verwerken van de tekst die ik uit de database haal, dat ik op mijn website alle " en < en > te zien krijg. Hoe kan ik dat voorkomen?
Dit krijg ik te zien in de htmlcode van de pagina die de gegevens uit de database gebruikt:
<td colspan="3">$input['omschrijving'] 'en enkele' <br />
en &quot;dubbele&quot; <br />
<br />
en &lt; en &gt;</td>
Moet ik htmlspecialchars niet eerst terug zetten tussen regel 8 en 9?
Htmlentities is voor de presentatie en hoort dus niet in de database.
Regel 5 moet dus weg.
?
Onbekende gebruiker
01-06-2014 22:30
Regel 5 heb ik nodig omdat ik de functie voor meerdere dingen gebruik, maar belangrijker, eerst wordt de input gepresenteerd (andere delen van het script).
wat - SanThe - probeert te zeggen is dat je de data zonder er iets aan te doen (natuurlijk wel
mysqli_real_escape_string()) in de database moet zetten. je moet je htmlentities er pas overheen doen
als je het uit de database haalt en op de pagina wilt echo'en. want als je wat met de data wilt doen dan is het heel moeilijk omdat je dan alles in de database hebt staan. op deze manier kun je het veranderen als je het op de pagina echo't.
Waarom die functie?
Sla je gegevens op in de database door in de query gebruik te maken van mysqli_real_escape_string.
Dan heb je, zoals hierboven aangegeven, de meest pure input verwerkt en de meeste risico's beperkt met zo min mogelijk inspanning.
Nu voer je drie bewerkingen uit op een variabele en maak je een onnodige variabele aan waar je nog wat bewerkingen op los laat.