• User

    In realtà per ora ho messo solo quello, ovviamente racchiuso tra i tag php e per vedere se funziona ho fatto una echo, e comunque dovrebbe inserire i dati nel DB, in teoria 😄

    ed ottengo il seguente errore quando invio la form:

    Fatal error: Call to a member function get_results() on a non-object


  • User

    get_results-> è un metodo utilizzato per fare le select. Usa INSERT invece, qui c'è una spiegazione abbastanza esaustiva con gli esempi codex.wordpress.org/Class_Reference/wpdb#INSERT_rows


  • User

    Ho fatto la prova, ma mi restituisce sempre errore: Call to a member function insert() on a non-object

    il codice è il seguente:

    $result=$wpdb->insert(
    'wp_bandi',
    array(
    'id' => '0',
    'titolo' => $_REQUEST['titolo'],
    'descrizione' => $_REQUEST['descrizione'],
    'dataPubblicazione' => $_REQUEST['dataPubblicazione'],
    'licenza' => $_REQUEST['licenza'],
    'cig' => $_REQUEST['cig'],
    'oggetto' => $_REQUEST['oggetto'],
    'sceltaContraente' => $_REQUEST['sceltaContraente'],
    'scadenza' => $_REQUEST['scadenza'],
    )
    );

    Comunque ho letto in giro, secondo te potrebbe essere un problema di $wpdb che non è riconosciuta o cose del genere??

    Grazie per l'aiuto 😄


  • User

    Per quello che ne son $wpbd è una classe di wordpress, dovrebbe riconoscerla sempre.
    Se la tua tabella si chiama: wp_bandi, allora prova cosi:
    [PHP]$result=$wpdb->insert(
    $wpdb->bandi,
    array(
    'id' => '0',
    'titolo' => $_REQUEST['titolo'],
    'descrizione' => $_REQUEST['descrizione'],
    'dataPubblicazione' => $_REQUEST['dataPubblicazione'],
    'licenza' => $_REQUEST['licenza'],
    'cig' => $_REQUEST['cig'],
    'oggetto' => $_REQUEST['oggetto'],
    'sceltaContraente' => $_REQUEST['sceltaContraente'],
    'scadenza' => $_REQUEST['scadenza'],
    )
    );[/PHP]


  • User

    niente da fare, sempre lo stesso errore 😞

    se provo a fare var_dump( isset( $wpdb ) );

    il risultato è bool(false), credo che il problema sia proprio della variabile, solo che non so come risolverlo..


  • User

    Sono riuscita ad ottenere come risultato del var_dump() bool(true), però non mi inserisce i dati nel database

    Ho trovato il problema, spero che qualcuno mi aiuti a risolverlo.

    Se scrivo:

    $q = "INSERT INTO $wpdb->bandi VALUES('0','{$_REQUEST['titolo']}','{$_REQUEST['descrizione']}','{$_REQUEST['dataPubblicazione']}','{$_REQUEST['licenza']}','{$_REQUEST['cig']}','{$_REQUEST['oggetto']}','{$_REQUEST['sceltaContraente']}','{$_REQUEST['scadenza']}')";

    e ne faccio una echo non mi viene letto il nome della tabella, ma ottengo come risultato: INSERT INTO VALUES(.............

    è strano perchè se faccio lo stesso con la tabella wp_posts questa mi viene letta correttamente.:?


  • User

    Sono arrivata ad una soluzione, grazie Bellu...


  • User

    Prego 🙂 Perchè non posti la soluzione completa? magari a qualcuno potrebbe risultare utile come esempio.


  • User

    @Bellu said:

    Prego 🙂 Perchè non posti la soluzione completa? magari a qualcuno potrebbe risultare utile come esempio.

    appena ho un attimo posto la soluzione


  • User

    Ecco qui la soluzione che ho adottato, forse non sarà la più funzionale....

    come detto prima ho creato una form e nella action ho chiamato la pagina upload.php il codice che ho inserito in questo file è il seguente:

    <?php

    define('SHORTINIT', true);
    require_once( $_SERVER['DOCUMENT_ROOT'] . '/wp-load.php' );

    global $wpdb;

    /* fare stripslash sui dati inseriti*/

    $q = "INSERT INTO wp_bandi VALUES(.......)";

    $result = $wpdb->query($q);

    echo $q."result".$result;

    ?>

    Spero che possa essere utile a qualcuno visto che io ci ho messo 2 giorni per farlo funzionare 😄