Visualizzazione risultati 1 fino 2 di 2

Discussione: errore query update

  1. #1
    sitodiprova1927 non Ŕ connesso Utente giovane
    Data registrazione
    08-08-2017
    Messaggi
    78

    Predefinito errore query update

    Salve a tutti non riesco a risolvere in nessun modo il seguente errore

    Errormessage: 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 'Europa medievale. Attualmente Ŕ un monastero della congregazione benedettina c' at line 1

    la query a cui fa riferimento Ŕ la seguente:


    Codice PHP:
    $sql $mysqli->query("UPDATE tbl_panorami SET visibilita = '$visibilita', ordine = '$ordine', Titolo = '$titolo_monumento', Descrizione = '$descrizione_monumento', Immagine = '$img', id_regione= '$regione_monumento', luogo = '$luogo_monumento', provincia = '$provincia_monumento', realta_vr = '$tour', tipo_1= '$Gen2', tipo_2 = '$Gen2', tipo_3 = '$Gen3', latitudine = '$latitudine', longitudine= '$longitudine', meta_description = '$meta_description', keyword= '$keywords', lingua = '$lang', titolo_sito= '$title', nome_pagina = '$nome_pagina', url_statico= '$url_statico' WHERE id = '$id';");
             if (!
    $sql) {
                
    printf("Errormessage: %s\n"$mysqli->error);
            } 
    Credo sia importante specificare che "Europa medievale. Attualmente Ŕ un monastero della congregazione benedettina c" Ŕ un frammento della stringa contenuta nella variabile $descrizione_monumento.

    Grazie a tutti per l'aiuto

  2. #2
    mzanella non Ŕ connesso AlterGuru
    Data registrazione
    29-12-2015
    Messaggi
    1,074

    Predefinito

    L'errore Ŕ causato dal fatto che stai cercando di inserire delle stringhe contenenti apostrofi, doppi apici o altra punteggiatura "ambigua" dal punto di vista di MySQL.

    A titolo di esempio, supponiamo che la variabile $descrizione_monumento contenga la stringa l'Europa medievale (nota l'apostrofo). Con il metodo da te usato per costruire le interrogazioni il risultato Ŕ:
    Codice:
    UPDATE tbl_panorami SET Descrizione = 'L'  Europa medievale'
    che Ŕ sintatticamente scorretto (gli spazi sono stati aggiunti per chiarezza).

    Prima di inserire delle stringe nella base di dati dovresti usare funzioni come addslashes o, meglio ancora, usare i prepared statement.

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •