Foros del Web » Programando para Internet » PHP »

Alguien que me ayude a encontrar el error!

Estas en el tema de Alguien que me ayude a encontrar el error! en el foro de PHP en Foros del Web. Buenas !! a ver si alguno se apiada de mi que me esoy volviendo loco y no puedo encontrar el error! el tema es una ...
  #1 (permalink)  
Antiguo 13/06/2011, 16:15
Avatar de solid_  
Fecha de Ingreso: junio-2011
Mensajes: 2
Antigüedad: 12 años, 10 meses
Puntos: 0
Alguien que me ayude a encontrar el error!

Buenas !!
a ver si alguno se apiada de mi que me esoy volviendo loco y no puedo encontrar el error!

el tema es una consulta que me esta tirandolo siguiente:
Error: 1064
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 'desc = '', tag1 = 'unouno', tag2 = '2dosdos', tags = 'tros, o cuatro, o cinco, m' at line 1


el php basicamente es:
Código PHP:
if($_POST){
        
$table 'contenido';
        
$_POST['contenido']['alias'] = makeUrl($_POST['contenido']['titulo']);
        foreach(
$_POST['contenido'] as $key => $val)
            
$contenido[$key] = $val;
        
        
$query 'UPDATE ' $table ' SET ';
        
$columns = array();
        foreach (
$contenido as $key => $value) {
            if (
$key != 'id') {
                
$columns[] = "{$key} = '".mysql_escape_string($value)."'";
            }
        }
        
$query .= implode(', '$columns);
        
$query .= ' WHERE id = ' $contenido['id'];
        
        
$db opendb(MYSQLDBHOST,MYSQLDBUSER,MYSQLDBPASS);
        
selectdb(MYSQLDBNAME,$db);
        
querydb($query,$db);
        
closedb($db);} 
la bd es:
Campo Tipo Cotejamiento Atributos
id bigint(20) No auto_increment
titulo tinytext utf8_unicode_ci
alias tinytext utf8_unicode_ci
cuerpo longtext utf8_unicode_ci
desc text utf8_unicode_ci
tag1 tinytext utf8_unicode_ci
tag2 tinytext utf8_unicode_ci
tags text utf8_unicode_ci

dsd ya muchas gracias!
  #2 (permalink)  
Antiguo 13/06/2011, 16:20
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 1 mes
Puntos: 336
Respuesta: Alguien que me ayude a encontrar el error!

desc es una palabra reservada para hacer ordenes DESCendentes, para evitar este tipo de problema usa `comillas hacia atras`:

$columns[] = "`{$key}` = '".mysql_escape_string($value)."'";
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D
  #3 (permalink)  
Antiguo 13/06/2011, 16:37
Avatar de solid_  
Fecha de Ingreso: junio-2011
Mensajes: 2
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: Alguien que me ayude a encontrar el error!

claaaro, genio de la vida, millones de gracias!

Etiquetas: 1064, error:, mysql, update
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:59.