Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 39
  1. #1

    Nessuna visualizzazione dati in php dopo query con join

    Buonasera, ho il seguente problema, dopo aver lanciato una query, vedi script, la pagina in php rimane bianca senza visualizzare alcun dato.
    Se la stessa query la eseguo all'interno di phpmyadmin, in mysql, funziona.
    Dove sto sbagliando?

    <?
    include('connection.php');
    $sql = "SELECT nas, iniziale, progressivo FROM dati AS a
    JOIN temp AS c ON a.progressivo = c.progressivo WHERE c.progressivo = 70 LIMIT 1";
    $result = mysqli_query($conn, $sql);

    if($result === false) {
    exit("Errore: impossibile eseguire la query. " . mysqli_error($conn));
    }

    while ($row = mysqli_fetch_array($result)) {
    echo $row['nas'].' '.$row['iniziale'].' '.$row['progressivo'].'<br>';
    mysqli_close($conn);
    ?>

    Grazie
    Alberto B.

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2014
    Messaggi
    527
    la pagina bianca e' sinonimo di errore nello script,
    errore che dovresti trovare nel log degli errori di php
    nel caso, hai aperto la parentesi graffa nel ciclo while ma non l'hai chiusa ....

  3. #3
    Quote Originariamente inviata da marino51 Visualizza il messaggio
    la pagina bianca e' sinonimo di errore nello script,
    errore che dovresti trovare nel log degli errori di php
    nel caso, hai aperto la parentesi graffa nel ciclo while ma non l'hai chiusa ....
    Proverò a dare un'occhiata al log. Per la parentesi, svista imperdonabile...comunque anche chiudendola non funziona.

    Grazie per la risposta
    Alberto B.

  4. #4
    magari l'errore sta dento include('connection.php');

    puoi postarlo?

  5. #5
    Quote Originariamente inviata da optime Visualizza il messaggio
    magari l'errore sta dento include('connection.php');

    puoi postarlo?
    La connessione dovrebbe essere a posto, se faccio una query semplice funziona.
    Comunque ecco lo script, magari mi è sfuggito qualcosa....

    <?php
    $servername = "xxxxxxxx";
    $username = "xxxxxxxxx";
    $password = "xxxxxxxxx";
    $dbname = "xxxxxxxx";

    // Creo la connessione
    $conn = new mysqli($servername, $username, $password, $dbname);
    // Verifico
    if ($conn->connect_error) {
    die("Connessione fallita: " . $conn->connect_error);
    }
    ?>
    Alberto B.

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2014
    Messaggi
    527
    nas, iniziale, progressivo

    visto che progressivo esiste in entrambe le tabelle, meglio mettere "a." o "c." a precedere

    se così non risolvi, suggerisco ancora di verificare il log di php

  7. #7
    anche nas e iniziale... in quale tabella stanno? metti il prefisso, così anche la query va un filo più veloce

  8. #8
    Quote Originariamente inviata da optime Visualizza il messaggio
    anche nas e iniziale... in quale tabella stanno? metti il prefisso, così anche la query va un filo più veloce
    I campi sono in entrambe le tabelle.
    Il prefisso, come suggerisce anche Marino51, e visto che siete in due a dirlo, probabilmente è la stada più giusta, lo devo inserire qui?: $row['a.nas'] - così è corretto? Oppure va inserito nei campi della SELECT.

    Grazie per le risposte
    Alberto B.

  9. #9
    Utente di HTML.it
    Registrato dal
    Oct 2014
    Messaggi
    527
    devi anteporre "a." o "c." a tutte le colonne della query,
    e' necessario quando le colonne sono presenti con uguale nome in piu' tabelle,
    ma per pulizia conviene farlo per tutte le colonne

    $row['nas'] questa e' la scrittura giusta


  10. #10
    Quote Originariamente inviata da BluAlbe Visualizza il messaggio
    I campi sono in entrambe le tabelle.
    Se i campi sono in entrambe le tabelle non capisco il senso della JOIN…

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.