webForumDet fria alternativet

Uppdatera?

9 svar · 345 visningar · startad av streetrobban

streetrobbanMedlem sedan jan. 20011 184 inlägg
#1

Jag har en kod som ska uppdatera men det funkar inte, får ingen felmeddelande eller så. Men det uppdateras bara inte :)

<?php
// Öppna databasen
$db = mysql_connect("localhost","","") or die ("Kunde inte skapa en anslutning till databasen");

// Välj databas
mysql_select_db ("rob") or die ("Hittade inte datbasen");

// Uppdatera informationen
$update = "UPDATE users SET uYear='$uYear2',uDay='$uDay2',uMonth='$uMonth2',uDateLast='uDateLast2',uSex='uSex2',uPresentation='uPresentation2',uPlace='uPlace2',uCountry='uCountry2' WHERE id = '$UpdateID'";
$update2 = mysql_query($update) or die (mysql_error());

echo("Din presentation är nu uppdaterad.");
echo("<br><br>");
echo("<a href=UserHideout.php><b>< Tillbaka</b></a>");

// Stäng databasen
mysql_close($db);
?>

Värdena kommer från <input> lådor och <selects> etc. som heter tex. uDay2 osv.

Alpha IIMedlem sedan maj 20002 579 inlägg
#2
$update = "UPDATE users SET  uYear='$uYear2',uDay='$uDay2',uMonth='$uMonth2',uDateLast='u
 DateLast2',uSex='uSex2',uPresentation='uPresentation2',uPlac
e='uPlace2',uCountry='uCountry2' WHERE id = '$UpdateID'";

Är det variabler? Då har du glömt $ före dom...

streetrobbanMedlem sedan jan. 20011 184 inlägg
#3

Rutorna i databasen heter typ uDate och från formuläret (uDate2) kommer ett värde som ska in i uDate.

streetrobbanMedlem sedan jan. 20011 184 inlägg
#4

Så här ser min kod ut nu, som sagt... inget felmeddelande men det händer inget, värdena uppdateras inte.

<?php
include("includes/connection.php");

// Uppdatera informationen
$update = "UPDATE users SET uYear='$uYear',uDay='$uDay',uMonth='$uMonth',uDateLast='uDateLast',uSex='uSex',uPresentation='uPresentation',uPlace='uPlace',uCountry='uCountry' WHERE id = '$UpdateID'";
$update2 = mysql_query($update) or die (mysql_error());

echo("Din presentation är nu uppdaterad.");
echo("<br><br>");
echo("<a href=UserHideout.php><b>< Tillbaka</b></a>");

// Stäng databasen
mysql_close($db);
?>

Så här ser insticksfilen connection.php ut;

<?php
// Öppna databasen
global $id,$uUsername,$uPassword,$uDateJoin,$uDateLast,$uEmail,$uDay,$uYear,$uMonth,$uVisits,$uSex,$uPresentation;
$db = mysql_connect("localhost", "", "") or die( "Servern fungerar inte!"); 
mysql_select_db("rob") or die( "Hittar inte databasen!");
?>
SPiNMedlem sedan mars 20005 832 inlägg
#5

Skumt. $UpdateID är alltså definierad, och kolumnen är av typen BLOB? ( Text, Longtext, osv. )
Är den av typen tal ska du inte ha några fjullifånger runt - det ska alltså vara:

... WHERE id = $UpdateID
streetrobbanMedlem sedan jan. 20011 184 inlägg
#6

Hmm, jag fick syntax error när jag tog bort ' '. Så det funkade lika dåligt men förut fick jag inget error :)

Vad ska man använda på de olika fälten? Nu har jag BLOB på alla "långa" texter. Och TEXT på alla siffror... vad är bäst?

SPiNMedlem sedan mars 20005 832 inlägg
#7

Du ska ha INT på alla fält där du lagrar tal, och gärna VARCHAR på fält där det lagras korta texter. ( Du kan ställa in med parentes hur många tecken som ska lagras i den )
På fält som lagrar långa texter har jag alltid LONGTEXT.

ElricMedlem sedan jan. 200249 inlägg
#8

Har du inte missat några st $?
Koden ska väll se ut så här:

// Uppdatera informationen
$update = "UPDATE users SET uYear='$uYear',uDay='$uDay',uMonth='$uMonth',uDateLast='$uDateLast',uSex='$uSex',uPresentation='$uPresentation',uPlace='$uPlace',uCountry='$uCountry' WHERE id = '$UpdateID'";

Oops, såg precis att någon redan har påpekat detta. sorry!

streetrobbanMedlem sedan jan. 20011 184 inlägg
#9

Jag har fortfarande inte fått den här skiten att fungera! :(

streetrobbanMedlem sedan jan. 20011 184 inlägg
#10

Fan va trött jag blir! :) Jag hade glömt att sätta in <form method=post action=UserProfileUpdate.php?UpID=".$userRow['id']."> så posten vet var den ska ta vägen... nu funkar allt i alla fall :bire

Genererad på 666 ms · cache AV · v20260730165559-full.f96bc7eb