ZeRKoX Skrevet 9. november 2008 Del Skrevet 9. november 2008 Jeg kjører følgende kode (utsnitt) for å oppdatere en database, og begge stedene der jeg skriver ut (echo) så er tittelen rett verdi. Men der jeg oppdaterer databasen, blir tittelen til '0'. Hva kan være problemet? include('connect.php'); $tittel = mysql_real_escape_string($_POST['tittel']); $pid = mysql_real_escape_string($_POST['pid']); $id = mysql_real_escape_string($_GET['id']); echo '<p>'. $tittel .' '. $pid .'</p>'; $sql="UPDATE prod_cat SET tittel ='$tittel' AND P_ID ='$pid' WHERE id = '$id'"; mysql_query($sql); if (!mysql_query($sql,$con)) { die('<p>Det oppstod en kritisk feil</p>'); } else { echo "<p>Produktkategorien er endret</p>"; echo '<p>'. $tittel .' '. $pid .'</p>'; $logg = 'Produktkategori er endret ('.$tittel.')'; nylogg(00, $logg); include('prod_cat/index.php'); } Lenke til kommentar
Jonas Skrevet 9. november 2008 Del Skrevet 9. november 2008 Print ut queriet og die med mysql_query. Da ser du om queriet faktisk er korrekt og om verdien oppdateres enda en gang etterpå. (Ser du gir 00 til nylogg) Lenke til kommentar
Martin A. Skrevet 9. november 2008 Del Skrevet 9. november 2008 Er vel ikke merkelig i det hele tatt. UPDATE syntaksen din er feil. UPDATE table SET field="value", field2="value2" WHERE field="something" I koden din separerer du update argumentene med 'AND'. I tillegg kjører du spørringen to ganger. mysql_query($sql); // <-- Her if (!mysql_query($sql,$con)) // <-- Og her Jeg ville her gjort: $res = mysql_query($sql); if ( $res === FALSE ) { die( mysql_error() ); } else { echo "Spørringen utført. Tittel endret til '{$tittel}'"; } Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå