PHP expert |
|
Ey, ik heb een class gemaakt waar je alleen velden hoeft in te vullen en dan word de query automatisch gemaakt. Maar nu heb ik een fout als ik bijvoorbeeld NOW() wil gebruiken. Wat om alle values worden automatisch quotes gezet. Hoe kan ik omzeilen voor sommige mysql keywords zoals NOW()?
Dit is de functie
<?php
public function insert() {
if(sizeof($this->fields) == 0) {
echo 'Geen velden om in te voegen';
} else {
$sql = '';
$sql .= 'INSERT INTO '. $this->table .' (';
$field = '';
foreach($this->fields as $key => $value) {
$field .= $key .', ';
}
$sql .= substr($field, 0, strlen($field) - 2);
$sql .= ') VALUES (';
$values = '';
foreach($this->fields as $key => $value) {
$values .= '"'. $value .'", ';
}
$sql .= substr($values, 0, strlen($values) - 2);
$sql .= ')';
if(!$result = mysql_query($sql)) {
echo 'Er was een probleem - Mysql Error: '. mysql_error();
return false;
}
return true;
}
}
?>
<?php public function insert() { if(sizeof($this->fields) == 0) { echo 'Geen velden om in te voegen'; } else { $sql = ''; $sql .= 'INSERT INTO '. $this->table .' ('; $field = ''; foreach($this->fields as $key => $value) { $field .= $key .', '; } $sql .= ') VALUES ('; $values = ''; foreach($this->fields as $key => $value) { $values .= '"'. $value .'", '; } $sql .= ')'; return false; } return true; } } ?>
|