sábado, 14 de febrero de 2009

Error de sintaxis en MySQL usando PEAR

Con el siguiente código:

function executeCommand( $sql, $args )
{
global $db;

$sth = $db->prepare( $sql );

if (PEAR::isError($sth)) {
die($sth->getMessage());
}

echo "

$sth de la sql $sql

";

$res=& $db->execute( $sth, $args );

if (PEAR::isError($res)) {
die($res->getMessage());
}
print_r($res);
return $res;

}

Si devuelve un error como éste: 'DB Error: syntax error', puede darse el caso de que alguno de los campos de la tabla se llamen igual que una palabra reservada. En mi caso había un campo llamado group, que obviamente entraba en conflicto con la palabra reservada GROUP. Es bueno tenerlo en cuenta cuando parece que las cosas no van sin motivo alguno.

No hay comentarios: