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

    Problema di apice in ricerca

    Fino ad oggi non mi ero mai accordo di un errore dovuto all'nserimento dell'apostrofo in fase di ricerca di un cognome.
    Mi spiego
    Se inserisco ad esempio un cognome del tipo : CA' RIO
    questo cognome contiene un apostrofo o apice e di conseguenza viene rilevato un errore che fa riferimento al mio file che io ho chiamato config.in.php
    Queste le istruzioni contenute nel file :

    if ($come == 0) { // Termine di ricerca che inizia con la parola
    $come = " LIKE '".$query."%'";
    }
    elseif ($come == 1) { // Termine di ricerca che contiene con la parola
    $come = " LIKE '%".$query."%'";
    }
    elseif ($come == 2) { // Termine di ricerca che finisce con la parola
    $come = " LIKE '%".$query."'";
    }
    $query_string = "SELECT num,name FROM ".$tabella." WHERE ".$colonna.$come;
    $result = mysql_query($query_string, $global_db);
    $nresult=0;
    while ($ris = mysql_fetch_array($result)) {
    $res[$nresult]['name'] = htmlspecialchars (utf8_encode (trim ($ris['name'])),ENT_QUOTES);
    if ($res[$nresult]['num']) {
    $nresult++;
    }
    }
    $campo = explode (",",$campi);
    $ncampi = count ($campo);
    for ($i=0; $i < $ncampi; $i++) {
    $campo[$i] = trim ($campo[$i]);
    }
    if ($ordine == 0) {
    $ordinato = "DESC";
    }
    elseif ($ordine == 1) {
    $ordinato = "ASC";
    }
    $query_string = "SELECT ".$campi." FROM ".$tabella." WHERE ".$colonna.$come." ORDER BY ".$campo[0]." ".$ordinato." LIMIT ".$Qstart.", ".$Qend."";
    $result = mysql_query($query_string, $global_db);
    $i=0;
    while ($row = mysql_fetch_array($result)) {
    for ($ii=0; $ii < $ncampi; $ii++) {
    $res[$i][$ii] = trim ($row[$campo[$ii]]);
    if ($campo[$ii] == "name") {
    $res[$i][$ii] = htmlspecialchars (utf8_encode ($res[$i][$ii]),ENT_QUOTES);
    }
    $res[$i][$campo[$ii]] = $res[$i][$ii];
    }
    $i++;
    }

    L'errore lo dà in queste due righe :
    while ($ris = mysql_fetch_array($result)) {
    while ($row = mysql_fetch_array($result)) {

    Grazie in anticipo per il possibile aiuto

  2. #2

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

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.