Visualizzazione dei risultati da 1 a 5 su 5

Visualizzazione discussione

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2013
    Messaggi
    117

    Utilizzo di mysql_insert_id() e di "SELECT LAST_INSERT_ID()"

    Ciao a tutti
    avendo bisogno di ottenere l'Id dell'insert che ho appena effettuato ho consultato la guida php-mysql ed ho trovato le due istruzioni indicate nel titolo.

    Solo che i risultati che ottengo non coincidono con quanto ho trovato nella guida perché ho letto:
    Avviso mysql_insert_id() converte il tipo restituito dalla funzione nativa dell'API C di MySQL mysql_insert_id() al tipo long (chiamata int nel PHP). Se la colonna AUTO_INCREMENT è del tipo BIGINT, il valore restituito da mysql_insert_id() sarà inesatto. In questo caso si usi la funzione SQL di MySQL LAST_INSERT_ID() in una query SQL.
    Quindi, siccome il mio ID è un "bigint" ho cercato di usare "SELECT LAST_INSERT_ID()".

    Il problema è che invece di restituirmi un numero mi viene fuori qualcosa tipo: "Resource id #5" dove inoltre il numero finale non è quello dell'Id inserito.

    Al contrario se uso mysql_insert_id() mi viene restituito il numero giusto ma, dato l'avviso di non utilizzare questa istruzione, non credo di poterci fare affidamento.

    Insomma sono in un vicolo cieco e non so cosa fare

    Accetto qualsiasi suggerimento.
    Grazie in anticipo


    Edit:
    Ma se usassi mysqli_insert_id potrei superare il problema del bigint?

    Per usare mysqli_insert_id devo riscrivere il tutto il codice php che usa mysql ed usare per tutto mysqli, oppure posso "infilare" l'istruzione mysqli_insert_id nel contesto in cui uso il vecchio mysql?

    Grazie ancora
    Ultima modifica di genespos; 18-11-2014 a 13:20 Motivo: Ulteriori chiarimenti

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.