Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2012
    Messaggi
    1

    Sintassi di ricerca per Apache 2.2.22

    Salve a tutti, sono alle prime armi con il codice php, e ho riscontrato subito un problema nella tabella che ho creato. Ho cercato di fare una semplice ricerca per trovare i nomi e dare la possibilità di modificare il profilo e cancellarli.
    Fin qui tutto bene, appare il nome e tutto il resto, se non fosse però che appare anche un indice di errore nella linea:
    $ricerca = $_REQUEST["ricerca"];

    Ora se vado su phpmyadmin e sql mi indica un errore di sintassi:
    #1064 - 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.

    Io premetto che sto utilizzando la versione Apache 2.2.22

    Codice PHP:
    <table width="53%" height="113" border="1">
        <tr> <td><div align="center"><h4>Nome studente</h4></div></td> <td><div align="center"><h4>Modifica</h4></div></td><td><div align="center"><h4>Cancella</h4></div></td>
        </tr>
    <?php
    $ricerca
    =$_REQUEST["ricerca"];
    $server"127.0.0.1"
    $login"root"
    $password""
    $database"scuola";
    $link=mysql_connect"$server""$login""$password")
    or die ( 
    "Non riesco a connettermi a $server"); 
    mysql_select_db ($database$link)
    or die ( 
    "Non riesco a selezionare il db $database
    "
    ); 
    ?>

    <?php 
    $dati
    =mysql_query("select * from studenti where studente_nome
    LIKE '%
    $ricerca%'"$link);
    while (
    $row mysql_fetch_array ($dati)) 
    {
    ?>

    <tr>
    <td width="56%" height="61"><div align="center"><?php echo $row["studente_nome"];?></div></td>
    <td width="22%"><div align="center">[url="modifica_s.php?codice=<?php echo $row["]">Modifica[/url]</div></td>
    <
    td width="22%"><div align="center">[url="cancella_s.php?codice=<?php echo $row["]">Cancella[/url]</div></td>
    </
    tr>
    <?
    php ?> 
    </table>

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    bisogna vedere cosa vale $ricerca... cambia la riga:

    dati=mysql_query("select * from studenti where studente_nome
    LIKE '%$ricerca%'", $link);


    con:
    $query = "select * from studenti where studente_nome
    LIKE '%$ricerca%'";
    var_export($query); // <---- DEBUG
    dati=mysql_query($query, $link);


    la riga con // <---- DEBUG stampa a video la query prima di eseguirla: posta qui l'output... cmq la variabile $ricerca non viene opportunamente gestita e se usi caratteri speciali... è un guaio! dovresti anteporre alla generazione della query almeno $ricerca = mysql_real_escape_string($ricerca); (eventualmente da usare in testa alle 3 righe che ho postato sopra)

    p.s.: non è una questione di "apache" o meno, cmq

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.