Just nu i M3-nätverket
Gå till innehåll

får inte update att fungera


swede.anka

Rekommendera Poster

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

 

Länk till kommentar
Dela på andra webbplatser

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

 

Länk till kommentar
Dela på andra webbplatser

Anjuna Moon

Du använder ju inte dina variabler $synlig och $ab_id i din update-query...

 

Länk till kommentar
Dela på andra webbplatser

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

 

Länk till kommentar
Dela på andra webbplatser

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);

?>

 

 

 

Länk till kommentar
Dela på andra webbplatser

jag förstår inte riktigt vad du menar med:

Sen kollar du väl aldrig update queryn går?

 

Länk till kommentar
Dela på andra webbplatser

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

 

Länk till kommentar
Dela på andra webbplatser

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

 

Länk till kommentar
Dela på andra webbplatser

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...

 

Länk till kommentar
Dela på andra webbplatser

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

 

Länk till kommentar
Dela på andra webbplatser

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

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...