swede.anka Posted July 14, 2004 Share Posted July 14, 2004 jag lyckas inte få update att fungera med php och mysql. jag får inga felmedelanden heller så jag vet inte riktigt var jag ska felsöka. Det enda jag vet är att värdena inte uppdateras i MYSQL databasen. jag har kört en print längre ner i koden för att se att värdena som hämtas från formuläret stämmer och det gör de. <? $connection = mysql_connect("localhost", "kalle", "pelle") or die("Kunde inte skapa koppling!"); mysql_select_db("prislista") or die ("Kunde inte välja databas"); $hamta = "SELECT * FROM abonemang"; $resultat = mysql_query($hamta) or die("Det gick inte att hämta information från databasen!"); $ab_id = $_POST['ab_id']; $synlig = $_POST['synlig']; $sql = "UPDATE telefon SET ab_synlig = 'NEJ' WHERE ab_id = 12"; mysql_query($sql); mysql_close($connection); print $ab_id; print $synlig; ?> Tacksam för svar Link to comment Share on other sites More sharing options...
Cechise Posted July 14, 2004 Share Posted July 14, 2004 prova lägga till: error_reporting(E_ALL); och se om du får några felmeddelanden Sen kollar du väl aldrig update queryn går? du borde kanske skriva ut resultatet och lägga dit en or die() /cec ***NEJ TILL MJUKVARUPATENT*** Använder du en dator? i sånna fall angår detta DIG! Det är upp till dig! EU beslutar i höst. http://www.ffii.se Link to comment Share on other sites More sharing options...
Anjuna Moon Posted July 14, 2004 Share Posted July 14, 2004 Du använder ju inte dina variabler $synlig och $ab_id i din update-query... Link to comment Share on other sites More sharing options...
swede.anka Posted July 14, 2004 Author Share Posted July 14, 2004 var ska jag klistra in: error_reporting(E_ALL); jag provade i början och slutet av koden men fick inget resultat. jag har lagt dit en OR DIE kod nu och den kommer upp varje gång jag försöker uppdatera Link to comment Share on other sites More sharing options...
swede.anka Posted July 14, 2004 Author Share Posted July 14, 2004 det var bara som jag hade i ett av mina testprojekt för att den skulle ha "fasta värden". har även en där koden ser ut så här men inget av det fungerar <? error_reporting(E_ALL); $connection = mysql_connect("localhost", "root", "lootus") or die("Kunde inte skapa koppling!"); mysql_select_db("prislista") or die ("Kunde inte välja databas"); $hamta = "SELECT * FROM abonemang"; $resultat = mysql_query($hamta) or die("Det gick inte att hämta information från databasen!"); $ab_id = $_POST['ab_id']; $synlig = $_POST['synlig']; $sql = "UPDATE telefon SET ab_synlig = $synlig WHERE ab_id = $ab_id"; mysql_query($sql) or die ("kunde inte uppdatera"); mysql_close($connection); print $ab_id; print $synlig; error_reporting(E_ALL); ?> Link to comment Share on other sites More sharing options...
swede.anka Posted July 14, 2004 Author Share Posted July 14, 2004 jag förstår inte riktigt vad du menar med: Sen kollar du väl aldrig update queryn går? Link to comment Share on other sites More sharing options...
Cechise Posted July 14, 2004 Share Posted July 14, 2004 Formulerade mig lite konstigt :-) Menade att du aldrig aldrig kollade vad du fick tillbaka av mysql_query(). Den returnerar ju true/false beroende på hur det går. Men eftersom du får DIE nu så spelar det ju ingen roll. Ser inget fel med din query. Lägg till or die(mysql_error()); å så ser du vad du får för felmeddelande. dvs: mysql_query($sql) or die(mysql_error()); /cec ***NEJ TILL MJUKVARUPATENT*** Använder du en dator? i sånna fall angår detta DIG! Det är upp till dig! EU beslutar i höst. http://www.ffii.se Link to comment Share on other sites More sharing options...
swede.anka Posted July 14, 2004 Author Share Posted July 14, 2004 Jag blev lite klokare av din beskrivning men inte felmedelandet jag får. Resultatet i OR DIE blev: Unknown column 'ab_id' in 'where clause' om det är att den inte hittar columnen ab_id så blir jag förvånad för det finns en kolumn som heter så. Vad 'where clause' betyder förtår jag dock inte Link to comment Share on other sites More sharing options...
Bj0rN Posted July 14, 2004 Share Posted July 14, 2004 MySQL är (ibland) case-sensitive har jag märkt. Är du säker på att det är alla små bokstäver i kolumn namnet? -- Some say I am crazy.. but the voices in my head disagree... Link to comment Share on other sites More sharing options...
Cechise Posted July 14, 2004 Share Posted July 14, 2004 Det innebär att den inte hittar 'ab_id' som anges i "where"-klausulen. Alltså där du skriver "WHERE ab_id = 12" hittar den inte ab_id i databasen. Det kan ju bero på lite olika saker, men det BjOrN skriver är ett hett tips. /cec ***NEJ TILL MJUKVARUPATENT*** Använder du en dator? i sånna fall angår detta DIG! Det är upp till dig! EU beslutar i höst. http://www.ffii.se Link to comment Share on other sites More sharing options...
swede.anka Posted July 15, 2004 Author Share Posted July 15, 2004 kolumnen heter ab_id och jag använder exakt samma fråga när jag listar databasen på andra sidor och då fungerar det. Jag blev så less på sidan då varken ni eller en bekant kunde hitta något fel så jag skrev om hela sidan på samma sätt (dock med små bokstäver överallt) ifall något konstigt tecken smygit sig in som ingen såg. Tro det eller ej men då fungerade sidan. Visst är programering underbart. STORT TACK för all hjälp och tips som jag även kan använda i framtiden Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.