Dag mensen, ik ben bezig met een PHP scriptje welke uit een textvak input haalt en deze opslaat in de database. Vrij simpel, heb ik al 1000x gedaan, maar nu krijg ik een error en ik kan er maar niet achterkomen wat er nou mis is. Misschien mis ik iets, kijken jullie maar even:

<?php
mysql_query("UPDATE content SET ".$page." = '".$text."' WHERE id = '".$language."'")or die(mysql_error());
?>

Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '1 = '<p>test</p>' WHERE id = '3'' at line 1

Als ik de query echo krijg ik netjes dit te zien: UPDATE content SET 1 = '<p>test</p>' WHERE id = '3'

Hier lijkt niets mis mee te zijn, ik heb uit meerdere pagina's dit stuk gekopieerd en internet geraadpleegd maar het is allemaal hetzelfde. Ik snap er echt niets meer van, al die andere scripts werken prima, en deze niet. Ook heb ik alle variabelen veranderd in constanten, maar zelfs dan krijg ik die error. Ook heb ik geƫxperimenteerd met spaties, haakjes, slashes, quotes, doublequotes, punten, komma's en wat nog meer, maar na een uurtje experimenteren was dat niet zo leuk meer.

Het moet gewoon iets kleins stoms zijn, Murphy heeft altijd gelijk, dus ik had gehoopt dat een ander paar ogen hier de fout kon inzien...

(ik heb trouwens op allerlei manieren error reporting gedaan, telkens hetzelfde)
ook dat kan je natuurlijk detecteren:

<?php
class Lode_Sql_Query{

static protected function parseSql($sql){
if(false !== stripos($sql, 'DELETE', 0)){
if(false !== stripos($sql, 'WHERE')){
throw new ErrorException('Delete querie which does not have a WHERE clause detected');
}
}
return $sql;
}
}
?>

Reageren