Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 23

Discussione: errore nella query

  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2009
    Messaggi
    67

    errore nella query

    salve a tutti.

    Vorrei sottoporvi un avviso di errore che mi viene restituito quando mando in esecuzione una query.
    L'avviso è il seguente:


    Errore nella query : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE discipline= 'psicologo' and provincia= 'AG' LIMIT -6, 6' at line 1.


    Dove stò sbagliando?


    Grazie per l'attenzione Neke.

  2. #2
    Potresti postare il codice della query?

  3. #3
    manca la query. come si fa ad indovinare?

    comunque non e' possibile dare un valore negativo al limit. 0 (zero) e' il primo record trovato.
    Hai comunque un altro errore prima di questo

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2009
    Messaggi
    67
    ecco la query:

    // esecuzione seconda query con LIMIT
    $result = mysql_query("SELECT nome , cognome, via, localita, telefono, descrizione, mail FROM iscritti WHERE discipline= '"
    .$_REQUEST['discipline']."' and provincia= '".$_REQUEST['provincia']."'LIMIT $primo, $per_page");

  5. #5
    prova così:
    Codice PHP:
    $query="SELECT nome , cognome, via, localita, telefono, descrizione, mail FROM iscritti WHERE discipline='$_REQUEST[discipline]' and provincia= '$_REQUEST[provincia]'LIMIT $primo$per_page";
    $result=mysql_query($query); 
    chiaramente $primo non può essere negativo,per lo più 0.

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2009
    Messaggi
    67
    ciao Piero.mac

    Ho provato a cambiare il valore del primo parametro di limit, da numero negativo a 1, ma nn ho avuto nessun risultato (pagina bianca) e non compariva alcuna indicazione di errore.

    Impostazione originaria:
    // primo parametro di LIMIT
    $primo = ($current_page-1) * $per_page;

    Impostazione modificata:

    // primo parametro di LIMIT
    $primo = ($current_page1) * $per_page;

    probabilmente non ho capito come cambiare il parametro di limit, potresti indicarmelo?

    grazie neke

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2009
    Messaggi
    67
    Ciao E.D.I. 73

    ho provato a modificare il valore di limit in questa maniera:

    // primo parametro di LIMIT
    $primo = ($current_page 0) * $per_page;

    e a sostituire la query originaria con quella che mi hai inviato, ma il risultato è stata una pagina bianca.

    dove mi stò sbagliando?

  8. #8
    Codice PHP:
    $current_page=$_GET['pagina'];
    $primo $current_page  $per_page
    prova a postare il codice...

  9. #9
    Utente di HTML.it
    Registrato dal
    Jul 2009
    Messaggi
    67
    ecco il codice che ho preso da internet e che stò cercando di adattare alle mie esigenze.


    <?php
    $host = "localhost";
    $user = "root";
    $password = "***";
    $database = "********";

    // connessione al database
    mysql_connect("$host", "$user", "$password") or die("Connessione fallita !");

    // selezione del DB
    mysql_select_db("$database") or die("Selezione del DB fallita !");

    // esecuzione prima query
    $count = mysql_query("SELECT COUNT(id) FROM iscritti WHERE discipline='"
    .$_REQUEST['discipline']."' AND provincia='".$_REQUEST['provincia']."'");
    $res_count = mysql_fetch_row($count);

    // numero totale di records
    $tot_records = $res_count[0];

    // risultati per pagina(secondo parametro di LIMIT)
    $per_page = 6;

    // numero totale di pagine
    $tot_pages = ceil($tot_records / $per_page);

    // pagina corrente
    $current_page = (!$_GET['page']) ? 1 : (int)$_GET['page'];

    // primo parametro di LIMIT
    $primo = ($current_page-1) * $per_page;

    // esecuzione seconda query con LIMIT
    $result = mysql_query("SELECT nome , cognome, via, localita, telefono, descrizione, mail FROM iscritti WHERE discipline= '"
    .$_REQUEST['discipline']."' and provincia= '".$_REQUEST['provincia']."' LIMIT $primo, $per_page");
    if (!$result) {
    die("Errore nella query : " . mysql_error());
    };
    while ($row = mysql_fetch_array($result)) {
    echo "<div class= \"extra1\">";
    echo "<table >";
    echo "<tr >";
    echo "<td align= \"left\" valign= \"top\">[b] <font color=\" rgb(0,0,0)\"> ".$row['nome']." ".$row['cognome']." </font>
    Riceve in ".$row['via']." &nbsp &nbsp Loc.".$row['localita']."
    Descrizione:&nbsp ".$row['descrizione']."
    Tel. ".$row['telefono']." &nbsp &nbsp Mail: ".$row['mail']."</td>";
    echo "</tr>";
    echo "</table>";
    echo "</div>";
    };

    // includiamo uno dei files contenenti la paginazione, commentate l'altro ovviamente
    include("paginazione_123.php");

    // in questa cella inseriamo la paginazione
    echo "<table >";
    echo "<tr >";
    echo "<td >";
    echo "$paginazione";
    echo "</td >";
    echo "</tr>";
    echo "</table>";

    mysql_close($db);

    ?>

  10. #10
    prova a sostituire nel codice così e vedi se $tot_records ha un valore maggiore di zero:
    Codice PHP:
    $count mysql_query("SELECT id FROM iscritti WHERE discipline='$_REQUEST[discipline]' AND provincia='$_REQUEST[provincia]'");
    $tot_records mysql_num_rows($count); 

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.