Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Errore sql

  1. #1

    Errore sql

    Ciao, io ho fatto questo codice

    Codice PHP:
    $sql mysql_query("UPDATE recensioni SET titolo_rece = '".addslashes($titolo_rece)."' , data = '$data', argomento = '$argomento',  anteprima_rece = '".addslashes($anteprima_rece)."', recensione = '".addslashes($news_buona)."', immagine_rece = '".addslashes($immagine_rece)."', parole_chiavi = '".addslashes($parole_chiavi)."',  view = '$view', attiva = '$attiva', autore ='".addslashes($autore)."', $id_pag = '$id_pag', titolo_pag = '".addslashes($titolo_pag)."', principale = '$principale' WHERE id = '$id' ");
    if(
    $sql){
    echo 
    "

    Modifiche apportate con successo</p>"
    ;
    }else{
    echo 
    "

    Modifiche non apportate..Riprova!!!</p>"
    ;

    Mi da sempre modifiche nn apportate cosa sbaglio?=?

    Ciao

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    442
    controlla che i nomi dei campi coincidano con quelli scritti nella query
    controlla poi che le variabili scritte nella query coincidano con quelle a cui fai riferimento
    ciao luigi

  3. #3
    Sostituisci $sql che hai là con questa:
    Codice PHP:
    $sql=mysql_query("UPDATE recensioni SET titolo_rece = '".addslashes($titolo_rece)."' , data = '$data', argomento = '$argomento',  anteprima_rece = '".addslashes($anteprima_rece)."', recensione = '".addslashes($news_buona)."', immagine_rece = '".addslashes($immagine_rece)."', parole_chiavi = '".addslashes($parole_chiavi)."',  view = '$view', attiva = '$attiva', autore ='".addslashes($autore)."', $id_pag = '$id_pag', titolo_pag = '".addslashes($titolo_pag)."', principale = '$principale' WHERE id = '$id' ") OR die(mysql_error()); 
    così, se c'è un errlore nella query, te lo stampa a schermo.

  4. #4
    Ma scusate... L'errore non sta nel blocco IF? Lui controlla se la query di per se e NON la sua esecuzione sia true o false...

    Codice PHP:
    $sql mysql_query("UPDATE recensioni SET titolo_rece = '".addslashes($titolo_rece)."' , data = '$data', argomento = '$argomento',  anteprima_rece = '".addslashes($anteprima_rece)."', recensione = '".addslashes($news_buona)."', immagine_rece = '".addslashes($immagine_rece)."', parole_chiavi = '".addslashes($parole_chiavi)."',  view = '$view', attiva = '$attiva', autore ='".addslashes($autore)."', $id_pag = '$id_pag', titolo_pag = '".addslashes($titolo_pag)."', principale = '$principale' WHERE id = '$id' ");
    if(
    mysql_query($sql)){
    echo 
    "

    Modifiche apportate con successo</p>"
    ;
    }else{
    echo 
    "

    Modifiche non apportate..Riprova!!!</p>"
    ;


  5. #5
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    442
    devi mettere alla fine della query or die("".mysql_error());

    per vedere in questo modo se la query è scritta giusta. questa funzione ti dice dove sta l'errore
    senza quella il tuo if ti ritornerà sempre a Modifiche non apportate perche essendo sbagliata la queri non riesce a farti l'update
    infatti l'istruzione if($sql) {}
    ti dice che se mysql riesce ad eseguire la query restituirà vero eti fa lemodifiche altrimenti false e restituira modifiche non apportate
    scusa per il papiro spero di essermi spiegato al meglio

  6. #6
    OPS! Scusate non avevo visto che la variabile $sql comprendeva anche mysql_query()...

    Comunque si, aggiungi un or die(mysql_error())...


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.