Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    42

    mysql: risultati inattesi (1 solo record)

    ciao a tutti e grazie in anticipo per le eventuali risposte di aiuto.

    ho uno script php in locale (uso l'ultima versione di easyphp) chem con una richiesta al database, produce risultati errati e inattesi.

    ho isolato il problema e l'ho riprodotto in un file separato in modo da escludere ogni interferenza da parte di altre sezioni dell'applicazione (piuttosto complessa).

    per farla breve : da un qualunque script anche semplicissimo come:

    Codice PHP:
    <?
    // connessione al database

    $ris mysql_fetch_array(mysql_query("SELECT * FROM tabella"));

    ?>
    quello che ottengo è un solo record corrispondere al primo in ordine di id . ho provato ad eseguire la stessa query anche all'interno di altri database come per esempio lo standard mysql. ho 5 utenti, ma la query "SELECT * FROM user" restituisce in solo record corrispondente all'utente 1 (il root di default).

    nel caso in cui inserisco in WHERE nella query, ho comunque un solo record restituito, ma è il primo 'utile' (il primo corrispondente al 'WHERE'). infine, anche una richiesta come ("SELECT utente FROM tabella" o l'uso di LIMIT non migliorano la situazione: non riesco ad ottenete più di un record come risultato .

    qualche suggerimento?
    __
    GooDeep

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    534
    Per forza, non scorri il risultato
    Codice PHP:
    // connessione al database 

    $result mysql_query("SELECT * FROM tabella") or die(mysql_error()) ; 

    while(
    $ris mysql_fetch_array($result)) {

    ....


  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    42
    non l'ho specificato nel post, scusa, ma davo per scontato che avessi fatto tutte le prove del caso. con un classico ciclo foreach, con l'equivalente while e analizzando il risultato con print_f in vari modi. nulla, quello che mi restituisce è un solo record.
    __
    GooDeep

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    534
    Originariamente inviato da goodeep
    non l'ho specificato nel post, scusa, ma davo per scontato che avessi fatto tutte le prove del caso. con un classico ciclo foreach, con l'equivalente while e analizzando il risultato con print_f in vari modi. nulla, quello che mi restituisce è un solo record.
    prova anche quello che ti ho indicato.

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    42
    provato, provato.. un solo risultato, il primo (id più basso)
    __
    GooDeep

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    534
    Originariamente inviato da goodeep
    provato, provato.. un solo risultato, il primo (id più basso)
    grande... allora hai solo un record nel db. Meglio se posti le righe dello script, forse hai qualche errore. Quello che ho postato ti stampa tutti i record di tutta la tabella.

    Forse chiudi la connessione. Di certo quello che hai messo tu nel primo post può stampare una riga soltanto.

  7. #7
    Utente di HTML.it L'avatar di puddu
    Registrato dal
    Mar 2001
    Messaggi
    143
    Cosa succede se scrivi
    codice:
    SELECT * FROM tabella LIMIT 0, 100
    ??

  8. #8
    Originariamente inviato da pierotto
    Per forza, non scorri il risultato
    Codice PHP:
    // connessione al database 

    $result mysql_query("SELECT * FROM tabella") or die(mysql_error()) ; 

    while(
    $ris mysql_fetch_array($result)) {

    ....

    Mi raccomando prova questo codice e non quello che hai fatto tu con la query dentro la fetch, perchè così, anche in un while, restituirebbe sempre il primo!

  9. #9
    Non vorrei sbagliarmi, ma nel mysql_query() nel secondo argomento non si deve mettere la connessione al db? :master:

  10. #10
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    42
    risolto il problema, era un parametro nella configurazione di mysql.. grazie a tutti per l'aiuto!
    __
    GooDeep

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.