¿Alguien puede aclararme qué sucede con esta consulta?

Events happening in the community are now at Drupal community events on www.drupal.org.
Posted by yemore on March 12, 2014 at 3:25pm

A ver si alguien puede ver el problema porque yo no lo visualizo. Estoy tratando de añadir municipios que se relacionan con una provincia ya creada con anterioridad. Luego de verificar que el municipio no está en el sistema localizo el id de la provincia y creo el nuevo municipio con estos datos (id_provincia y nombre del municipio).

if ($existe == FALSE){
$id_provincia = db_query('SELECT id_provincia FROM {provincia} WHERE nom_provincia = :nom_provincia' , array(':nom_provincia' => $provincia));
$datos = array('id_provincia' => $id_provincia , 'nom_municipio' => $municipio);
drupal_write_record('municipio' , $datos);
drupal_set_message('El municipio ha sido añadido al sistema.');
}

A la hora de almacenarlo lo hace pero siempre colocando como id de la provincia el número 1 sin importar cual seleccione y me muestra este error:

Notice: Object of class DatabaseStatementBase could not be converted to int in drupal_write_record() (line 7123 of C:\wamp\www\recursos_humanos\includes\common.inc).

Aparentemente el problema viene a la hora de hacer la consulta, que debe devolver el único entero con que se trabaja.

AttachmentSize
tablas.png 3.87 KB

Comments

db_query te retorna un

Posted by mnico on March 12, 2014 at 4:04pm

db_query te retorna un objeto, puedes ver la documentación aquí https://api.drupal.org/api/drupal/includes%21database%21database.inc/fun...
En los comentarios ponen ejemplos que te van a servir.
por ejemplo:

<?php
// Agregar el metodo fetchField();
$id_provincia = db_query('SELECT id_provincia FROM {provincia} WHERE nom_provincia = :nom_provincia' , array(':nom_provincia' => $provincia))->fetchField();

// Recomiendo ver si $id_provincia realmente es el valor que necesitas.
print_r($id_provincia);

?>

Saludos

Muchas gracias.

Posted by yemore on March 18, 2014 at 12:33pm

Gracias. Aparte del fetchField() tenía también un problema a la hora de tomar la información del select.

Argentina

Group organizers

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds:

AltStyle によって変換されたページ (->オリジナル) /