Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di Kahen
    Registrato dal
    Aug 2011
    Messaggi
    11

    [PHP] Problemi update Database

    Rieccomi qua con un altro problema di (presumo) sintassi php. Connessione, passo i dati da form nella pagina precedente e questa è la mia parte di codice PHP:

    Codice PHP:
    <?php

    $id
    =$_POST['id'];
    $name=$_POST['nome'];
    $ref=$_POST['ref'];
    $tel=$_POST['tel'];
    $ind=$_POST['ind'];

    $connessione=mysql_connect("localhost","root","root") or die ("non trovo la connessione");

    mysql_select_db("database1prova",$connessione) or die ("non trovo il db");

    $sql="UPDATE clienti SET (nome='".$name."', ref='".$ref."', tel,='".$tel."', ind='".$ind."') WHERE ID = '".$id."'";

    $ris=mysql_query($sql) or die ("Query Fallita");

    mysql_close($connessione);

    ?>
    la Query muore e non passa. Cosa sto sbaglian

  2. #2
    Cos'è quest'obbrobrio?!?!

    Codice PHP:
    ... tel,= ... 
    Scusate, ma qui non si tratta più di PHP o di qualsiasi linguaggio di programmazione!
    Resto basito quando vedo certi o/errori
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  3. #3
    Utente di HTML.it L'avatar di Kahen
    Registrato dal
    Aug 2011
    Messaggi
    11
    Ringrazio per l'avermi fatto notare la svista ma a quanto pare la query sembra non essere accettata lo stesso. A parte dare dell'obbrobio, qualcuno ha qualche altro suggerimento?

  4. #4
    Scusate, ma qui non si tratta più di PHP o di qualsiasi linguaggio di programmazione! Resto basito quando vedo certi o/errori
    Il punto non è la svista ma che ad un errore così è facile trovare rimedio. Per prima cosa stampati la query a video mettendo dopo $sql un echo:

    Codice PHP:
    $sql="UPDATE clienti SET (nome='".$name."', ref='".$ref."', tel,='".$tel."', ind='".$ind."') WHERE ID = '".$id."'";

    echo 
    $sql
    Guarda cosa stampa e capirai se la query è corretta se hai tutti i dati recuperati correttamente ecc. ecc.

    Non usando nessun escape è anche possibile che se metti ad esempio un apostrofo nel form la query ti muore.
    Alle anime superficiali occorrono degli anni per liberarsi di un’emozione. L’uomo padrone di sè pone fine a un dolore con la stessa facilità con la quale improvvisa una gioia.

  5. #5
    Utente di HTML.it L'avatar di Kahen
    Registrato dal
    Aug 2011
    Messaggi
    11
    Grazie mille per la dritta, sono anni che non metto mano a PHP o SQL e mi sembra di dover imparare di nuovo tutto da zero. Comunque questo è quello che mi stampa:

    codice:
    UPDATE clienti SET (nome='paolo spa', ref='mario rossi', tel='7777', ind='via gigli 7') WHERE ID = '1'
    Data la mia profonda ignoranza in materia (ho dietro solo 2 quadrimestri del 5° anno di informatica all'ITIS), c'è qualcosa che mi sfugge? I dati passati sono corretti e a parte il campo ID (che è un INT) gli altri campi li ho settati come VARCHAR(20). Le altre pagine come la ricerca di voci nel DB o l'aggiunta di voci funzionano perfettamente.

  6. #6
    Ora per valutare la query potresti utilizzare una stampa a video dell'errore mysql utilizzando la funzione mysql_error() in questo modo:



    Codice PHP:
    $ris=mysql_query($sql) or die ("Query Fallita: -> " mysql_error()); 
    Così ti stampa a video l'errore nella query.

    L'errore in questo caso sono le parentesi tonde che non ci vanno ovvero:

    Codice PHP:
    "UPDATE clienti SET campo1 = '".$campo1."', ecc ecch 
    ciao
    Alle anime superficiali occorrono degli anni per liberarsi di un’emozione. L’uomo padrone di sè pone fine a un dolore con la stessa facilità con la quale improvvisa una gioia.

  7. #7
    Utente di HTML.it L'avatar di Kahen
    Registrato dal
    Aug 2011
    Messaggi
    11
    Grazie mille per l'aiuto ora funziona perfettamente

    Ecco la sintassi corretta:
    Codice PHP:
    $sql="UPDATE clienti SET nome='".$name."', ref='".$ref."', tel='".$tel."', ind='".$ind."' WHERE ID = ".$id.""

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.