Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    UPDATE che non funziona

    Ciao ragazzi
    ho passato qualche ora su questo dilemma senza giungerne a capo :-((

    ( compilo il form)
    form.php
    <form name = 'mostra' class="form" method="post" action="inserisci.php">
    <input type="text" name="azienda" ></td>
    <input type="submit" name="Inserisci" value="Submit"/> bla bla bla…

    // eseguo lo script di inserimento
    inserisci.php
    $query = 'INSERT INTO persons (azienda,bla bla bla) VALUES ("' .$_POST['azienda'] . '", bla bla bla

    // mostro i dati appena inseriti sempre nella stessa pagina
    require('table_result);
    table_result.php
    echo '<td>' . $azienda . '</td>'; bla bla bla
    // dichiaro la variabile id per la action "edit"
    echo '<td>aggiorna';

    // estraggo il record in base all'id da aggiornare
    formupdate.php
    if ($_GET['action'] == 'edit') {
    $query = 'SELECT id_person,azienda, etc etc etc FROM persons WHERE id_person = ' . $_GET['id'];
    <form class="form" action="update.php" method="post">
    <tr>
    <td > <input type="text" name="azienda" value="<?php echo $id_person; ?>" ></td>
    Etc, etc, etc


    // aggiorno i campi e su input " submit" CERCO di fare l'update
    update.php
    Così non funziona:
    $query = 'UPDATE persons SET azienda = '$azienda', etc, where id_person = '$id_person'';
    Cosi' neppure:
    $query = 'UPDATE persons SET azienda = '$azienda, etc, where id_person = "' . $_POST['id_person'] ;

    Così neppure:
    $query = 'UPDATE persons SET azienda = " ' . $_POST['azienda'] ' " . ' ", etc , where id_person = "' . $_POST['id_person'] ;


    Dove sbaglio?
    Ho verificato in alcuni libri php-mysql, ma la sintassi sembra essere proprio questa. Non riesco veramente a capire dov'è sono stato così tanto bravo da mettere l'errore.

    PS. Tra l'altro la pagina update.php risulta completamente bianca.
    Mettendo un echo di controllo, sembra essere addirittura scorretta la sintassi della query....non mi restituisce l'errore, ma blocca tutto il ciclo...boh....

    Grazie in anticipo a chi vorrà/potrà darmi uno spunto
    Ed

  2. #2
    Utente di HTML.it L'avatar di bubi1
    Registrato dal
    Dec 2009
    Messaggi
    1,230

    Re: UPDATE che non funziona

    Originariamente inviato da senzaesclusiva
    $query = 'UPDATE persons SET azienda = '$azienda', etc, where id_person = '$id_person'';
    $query = 'UPDATE persons SET azienda = '$azienda, etc, where id_person = "' . $_POST['id_person'] ;
    $query = 'UPDATE persons SET azienda = " ' . $_POST['azienda'] ' " . ' ", etc , where id_person = "' . $_POST['id_person'] ;

    [...]

    Ho verificato in alcuni libri php-mysql, ma la sintassi sembra essere proprio questa.
    Se hai un libro che ti dice di sbagliare cosi ferocemente gli apici, brucialo subito!!

  3. #3

    Re: Re: UPDATE che non funziona

    Originariamente inviato da bubi1
    Se hai un libro che ti dice di sbagliare cosi ferocemente gli apici, brucialo subito!!
    No, spetta; ho fatto un copia-incolla-cut veloce per non inserire troppo codice.
    Garantisco che gli apici nel codice originale sono corretti :-)))

  4. #4
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120

    Re: Re: Re: UPDATE che non funziona

    Originariamente inviato da senzaesclusiva
    No, spetta; ho fatto un copia-incolla-cut veloce per non inserire troppo codice.
    Garantisco che gli apici nel codice originale sono corretti :-)))
    Ah, allora è tutto chiaro.
    Tu garantisci che il codice è corretto, eppure non funziona. Evidentemente sarà un bug di php

  5. #5

    Re: Re: Re: Re: UPDATE che non funziona

    Originariamente inviato da luca200
    Ah, allora è tutto chiaro.
    Tu garantisci che il codice è corretto, eppure non funziona. Evidentemente sarà un bug di php
    Battuta nuova!!! Me la sentivo dire quando ero agli inizi del C e poi del Vb e poi del Vba.
    E' la 30esima volta che specifico che sono agli inizi di php e che alcune cose, proprio condizionato da cose pregresse, mi confondono.

    Ho messo quegli esempi a capocchia solo per chiedere questo:
    " visto che ho provato tutti i tipi di variabili , come mai porca pupattolina, non funziona? "

    Ma molto probabilmente mi sono spiegato "molto" male io.

    Allora caro fratello di forum bolognese ti dimostro che non è php ( hihihihhi) ad essere bacato, ma io:

    Questo codice estratto "copia incolla dal file php" , funziona:

    $query = 'UPDATE movie SET
    movie_name = "' . $_POST['movie_name'] . '",
    movie_year = ' . $_POST['movie_year'] . ',
    movie_type = ' . $_POST['movie_type'] . ',
    movie_leadactor = ' . $_POST['movie_leadactor'] . ',
    movie_director = ' . $_POST['movie_director'] . '
    WHERE
    movie_id = ' . $_POST['movie_id'];

    Ho preso la stessa query , ne ho cambiato i campi ( ovviamente) per adattarlo al db sul quale sto lavorando io.
    'UPDATE persons SET
    person_nm = "' . $_POST['person_nm'] . '",
    person_cgm = ' . $_POST['person_cgm'] . ',
    qual = ' . $_POST['qual'] . ',
    person_tel = ' . $_POST['person_tel'] . ',
    person_cell = ' . $_POST['person_cell'] .'
    WHERE
    id_person = ' . $_POST['id_person'];

    Come potrai notare sono IDENTICI.Anche la SINTASSI è identica. Anche una comparazione file con TextWrangler mi dice che sono identici (a parte i campi)

    E allora perchè nel mio caso non funzia? Ti dirò di più: adesso l'error mi dice:
    "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 '' at line 6"
    Coooosa? La prima istruzione funziona perfettamente e la seconda, identica, mi da errore????

    Per quello chiedevo cosa ALTRO potesse generare un errore nell' SQL!

    Forse adesso mi sono spiegato meglio :-)

    Un saluto
    Ed

  6. #6
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Prova a fare un echo della query, così vedrai qual è il codice sql esatto che gli arriva e da lì si dovrebbe capire anche il problema

  7. #7
    Utente di HTML.it L'avatar di bubi1
    Registrato dal
    Dec 2009
    Messaggi
    1,230
    Io intanto vedo 2 problemi:
    1 $_POST['id_person'] sicuramente e' vuota, per questo c'e' near ''
    2 a differenza della query di esempio, l'altra quasi sicuramente opera su campi non numerici, quindi i valori andrebbero delimitati

  8. #8
    Originariamente inviato da bubi1
    Io intanto vedo 2 problemi:
    1 $_POST['id_person'] sicuramente e' vuota, per questo c'e' near ''
    2 a differenza della query di esempio, l'altra quasi sicuramente opera su campi non numerici, quindi i valori andrebbero delimitati
    1 cosa intendi sicuramente vuota? L'id esiste, tanto è vero che mi baso su quello per individuare il record.
    Nella form (che è la stessa di inserimento ma sulla quale agisco eventualmente per la modifica con "if ($_GET['action'] == 'edit')" , replico interamente il record ( non servirebbe, ma in fase di apprendimento voglio rendermi la vita facile) id-person compreso. E' un errore?

    2. Questa non la capisco. Se volessi cambiare un valore numerico sarebbe diverso?...e non sono già delimitati?

  9. #9
    Originariamente inviato da luca200
    Prova a fare un echo della query, così vedrai qual è il codice sql esatto che gli arriva e da lì si dovrebbe capire anche il problema
    Intendi questo ?
    $result = mysql_query($query, $db) or die(mysql_error($db));

    Mi dice che c'è un errore di sintassi :
    "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 '' at line 6"

    uhmm..mi sta suggerendo di utilizzare "near" alla linea 6?
    Quindi nel raffronto Id

    Ho provato a cercare qualcosa online rispetto a "near" , ma non si trova granchè;

    Mi faresti un esempio basilare?
    Grazie mille
    Ed

  10. #10
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Esempio basilare

    echo $query;


    Consiglio basilare

    Studiati la guida di base di php. Non puoi pretendere di ravanare con questa roba se non sai nemmeno cos'è un echo

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.