Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Problema connessione DB PostgreSql

    Bungiorno,
    sto lavorando con uno script trovato online che permette di collegarsi ad un Db e generare direttamente un file .csv

    Lo script originale prevede l'utilizzo di Mysql e io l'ho adattato per PostgreSql che è il Db da cui ho bisogno di estrarre i dati.

    Questa è la parte di codice che mi da problemi:

    Codice PHP:
    $result = @pg_query("SHOW COLUMNS FROM ".$table.""); // query sql per visualizzare la tabella
    $i 0// settiamo un contatore i e fecciamolo iniziare da zero
    if (pg_num_rows($result) > 0) { // se il numero di righe della tabella e' maggiore di zero
    while ($row pg_fetch_assoc($result)) { // fin quando
    $csv_output .= $row['Field']."; ";  $i++;
    }
    }

    $csv_output .= "\n"// e vai a capo 

    Se la eseguo sul server mi restituisce il file .csv con le celle vuote.
    Se la eseguo su un editor/debugger mi restituisce questi errori:

    Warning: pg_num_rows(): supplied argument is not a valid PostgreSQL result resource

    Che succede?

    Ale

  2. #2
    Credo che questo post vada spostato nella sezione DATABASE, essendo un problema relativo a quel campo.
    Ce l'ho fatta! - ItalianPixel -

  3. #3
    Sinceramente non sapevo se si trattasse di un problema di funzione php o di db... nel dubbio ho postato qui

  4. #4
    Effettivamente crei una variabile i ma non la utilizzi, nel ciclo while la incrementi ma non la usi.
    Forse hai fatto un pò di confusione tra while e for...
    Ce l'ho fatta! - ItalianPixel -

  5. #5
    Codice PHP:
    $result pg_query("SHOW COLUMNS FROM ".$table.""); // query sql per visualizzare la tabella 
    if (pg_num_rows($result) > 0) { // se il numero di righe della tabella e' maggiore di zero 
    while ($row pg_fetch_assoc($result)) { // fin quando 
    $csv_output$row['Field']."\n";


    Ce l'ho fatta! - ItalianPixel -

  6. #6
    Già che ci sei guarda questo
    Ce l'ho fatta! - ItalianPixel -

  7. #7
    L'ho risolta modificando la query... ho messo banalmente SELECT *

    Sarà qualche problema di compatibilità tra Mysq e Pgsql

  8. #8
    Per questo ti dicevo sezione database

    Ciao
    Ce l'ho fatta! - ItalianPixel -

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 © 2024 vBulletin Solutions, Inc. All rights reserved.