Gå til innhold

PHP + MySQL med UPDATE fungerer ikke.


Anbefalte innlegg

Har en kode som ser slik ut:

<?php
include ("../test/includes/admin23/dbconnect23.php");

$title = $_POST["title_set"];
$result = mysql_query("SELECT title FROM side");
$sql = "UPDATE title SET title = $title";
$result = mysql_query($sql);
$myrow = mysql_fetch_array($result);

mysql_select_db("", $con);

 $result = mysql_query($sql, $con);
  echo "Thank you! Information updated.";
mysql_close($con);

?>

 

 

Og <form> koden som er i en annen fil:

<form method="post" action="../test/includes/admin23/title23.php">
 <input type="text" id="title_set" value="<?php echo $myrow['title']; ?>">
 <input type="submit" value="Submit">
</form>

 

Hvorfor fungerer ikke PHP + MySQL koden når det gjelder UPDATE?

Endret av Gjest
Lenke til kommentar
Videoannonse
Annonse

Her tror jeg du rett og slett roter litt, eller har gjort noen heftige skrivefeil da du skrev innlegget.

 

$sql = "UPDATE title SET title = $title";

Har du en tabell som heter "title" eller har du skrevet feil her? Din spørring sier: Oppdater "title"-feltet i "title"-tabellen.

 

$result = mysql_query($sql);
$myrow = mysql_fetch_array($result);

Her kjører du først UPDATE-spørringen, og så ber du om å hente en rad av resultatet som en array. Funksjonen mysql_query returnerer bare true eller false når spørringen er av typen UPDATE, INSERT eller DELETE.

 

mysql_select_db("vikingsinafrica", $con);

 $result = mysql_query($sql, $con);
  echo "Thank you! Information updated.";

Her bytter du plutselig database og kjører UPDATE-spørringen enda en gang. Er det med hensikt?

Endret av Edorph
Lenke til kommentar

Vel, om den tabellen ikke heter title så vil man få en feilmelding på det. Navnene her er forøvrig kontekstbestemte så de vil ikke krasje i hverandre. Man kjører ikke en oppdatering mot et felt, og man setter ikke en tabell lik en verdi. Riktignok er det kanskje en fordel med en aldri så liten WHERE så man ikke oppdaterer alle radene i hele tabellen ...

Lenke til kommentar

Tabell = side

 

Så er det:

 

 

id title

1 Min Side!

 

 

EDIT:

Takk til: Thomas.

 

$sql = "UPDATE side SET title = '$title' WHERE id='1'";

 

EDIT 2:

Noen som vil gjøre denne koden bedre for meg? Dette er den nye koden etter forandringer :)

Jeg VET at denne koden jeg har under her helt ødelagt derfor spør jeg om noen kan hjelpe meg å gjøre den bedre.

Jeg får heller ikke satt inn noe ny tekst fra den <form> koden jeg har i første post! Når jeg prøvde nå ble det blank i MySQL databasen.

 

<?php
include('dbconnect23.php');
mysql_select_db($db, $con);
$title = $_POST["title_set"];


$result = mysql_query("SELECT title FROM side WHERE id='1'");

$sql = "UPDATE side SET title = '$title' WHERE id='1'";


 $result = mysql_query($sql, $con);

  echo "Thank you! Information updated.";

mysql_close($con);
?>

Endret av Gjest
Lenke til kommentar

Lite fleksibel, med tanke på at ID er hardkodet.

 

<?php
include('dbconnect23.php');
mysql_select_db($db, $con); //Den der kan du like godt ta i dbconnect23.php

$title = $_POST['title_set'];

$sql = "UPDATE side SET title = '$title' WHERE id=1";

$result = mysql_query($sql, $con);

echo "Thank you! Information updated.";

mysql_close($con);
?>

Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...