Ver Mensaje Individual
  #2  
Antiguo 01-11-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
La primera cosa es pedirte que formatees bien el código porque es muy difícil leerlo así- usa las etiquetas php.

En lo que he visto de tu código hay por lo menos dos puntos que no están bien.

El primero es que last_insert_id() siempre te va a devolver 0. Esta función no te devuelve el próximo valor del campo auto incremental, te devuelve el último valor autoincremental que el servidor haya asignado en una operación INSERT, que no es lo mismo. Y este valor depende de la conexión- si dos clientes realizan inserciones simultáneas a una tabla o distintas tablas que tengan campos auto incrementales, cada cliente tendrá un número distinto según la inserción que hayan hecho. Por ello, cuando recién te has conectado, como es tu caso, last_insert_id() te devuelve 0 pues en esa conexión no has realizado ninguna inserción.

Por otra parte, aun cuando una consulta como last_insert_id() devuelva un sólo valor, esto no significa que puedes recoger este valor directamente del resultado de mysql_db_query. En consultas que devuelven registros, mysql_db_query siempre regresa una referencia al conjunto de registros, los cuales debes recorrer usando mysql_fetch_row o similar. En este caso debiera ser:

Código PHP:
$rs mysql_db_query('VIDEODROMO''select last_insert_id()');
$row mysql_fetch_row($rs);
$valorId $row[0]; 
Por último, para obtener lo que quieres puedes usar la consulta:

Código SQL [-]
show table status like "socios"

que te devolverá un registro con información de la tabla socios. Una columna de este registro es el campo que buscas:

Código PHP:
$rs mysql_db_query('VIDEODROMO''show table status like "socios"');
$row mysql_fetch_array($rs);
$valorId $row['Auto_increment']; 
// Saludos
Responder Con Cita