Avatar billede per-d Nybegynder
27. oktober 2001 - 13:11 Der er 16 kommentarer og
1 løsning

Find fejlen

er der nogen som kan finde fejlen i dette script nå man har trukket update siger den bare at linket er opdateret men det er det altså ikke.

<? include(\"connect.php\") ?>
<?if($mode == \"\"){?>
Velkommen til edit
<? } ?>
<?
$query = mysql_query(\"SELECT * FROM linkcounter \");
while($r = mysql_fetch_array($query)) {

$id = $r[\"id\"];
$cat_id = $r[\"cat_id\"];
$search = $r[\"search\"];
$navn = $r[\"navn\"];
$url = $r[\"url\"];
$hits = $r[\"hits\"];
$beskrivelse = $r[\"beskrivelse\"];
?>

<? if($mode == \"$id\"){ ?>
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">
<p align=\"center\"><font size=\"4\">Edit <? echo $Navn ?></font></p><br><br>
<form action=\"edit1.php?mode=update\" method=\"post\">
<input type=\"hidden\" name=\"mode\" value=\"update\">
<table border=\"0\" align=\"center\">

<tr><td><FONT face=Tahoma size=2>id:</FONT></td><td><input type=\"text\" name=\"id\" value=\"<? echo $id ?>\" size=\"40\" maxlength=\"40\" style=\"background-color: Black; color: White; font-family: Tahoma; font-size: 10;\"></td></tr>
<tr><td><FONT face=Tahoma size=2>navn:</FONT></td><td><input type=\"text\" name=\"navn\" size=\"40\" maxlength=\"40\" value=\"<? echo $navn ?>\" style=\"background-color: Black; color: White; font-family: Tahoma; font-size: 10;\"></td></tr>
<tr><td><FONT face=Tahoma size=2>url:</FONT></td><td><input type=\"text\" name=\"url\" size=\"40\" maxlength=\"40\" value=\"<? echo $url ?>\" style=\"background-color: Black; color: White; font-family: Tahoma; font-size: 10;\"></td></tr>
<tr><td><FONT face=Tahoma size=2>search:</FONT></td><td><input type=\"text\" name=\"search\" size=\"40\" maxlength=\"40\" value=\"<? echo $search ?>\" style=\"background-color: Black; color: White; font-family: Tahoma; font-size: 10;\"></td></tr>
<tr><td><FONT face=Tahoma size=2>hits:</FONT></td><td><input type=\"text\" name=\"hits\" size=\"40\" maxlength=\"40\" value=\"<? echo $hits ?>\" style=\"background-color: Black; color: White; font-family: Tahoma; font-size: 10;\"></td></tr>
<tr><td><FONT face=Tahoma size=2>katogori:</FONT></td><td><input type=\"text\" name=\"cat_id\" value=\"<? echo $cat_id ?>\" size=\"40\" maxlength=\"40\" style=\"background-color: Black; color: White; font-family: Tahoma; font-size: 10;\"></td></tr>
<tr><td><FONT face=Tahoma size=2>beskrivelse:</FONT></td><td><input type=\"text\" name=\"beskrivelse\" size=\"40\" maxlength=\"40\" value=\"<? echo $beskrivelse ?>\" style=\"background-color: Black; color: White; font-family: Tahoma; font-size: 10;\"></td></tr>
<tr><td colspan=\"2\"><input type=\"submit\" value=\"update\" style=\"background-color: Black; color: White; font-family: Tahoma; font-size: 10;\"></td></tr>
</table>
</form>
<? } } ?>

<?if($mode == \"update\"){?>
<?
mysql_query(\"UPDATE linkcounter SET beskrivelse=\'$beskrivelse\',search=\'$search\',navn=\'$navn\',url=\'$url\',hits=\'$hits\',cat_id=\'$cat_id\',beskrivelse=\'$beskrivelse\'
WHERE id=\'$id\'\");
?>
<?
echo \"linket er opdateret.\";

?>
<? } ?>
Avatar billede Slettet bruger
27. oktober 2001 - 13:15 #1
Gør det til en vane at lave det således i stedet:

$sql = \"UPDATE linkcounter SET beskrivelse=\'$beskrivelse\',search=\'$search\',navn=\'$navn\',url=\'$url\',hits=\'$hits\',cat_id=\'$cat_id\',beskrivelse=\'$beskrivelse\'
WHERE id=\'$id\'\";

echo $sql;

mysql_query($sql);

Og når du så har testet færdig sletter du bare echo\'en.

Her kan du så tjekke om alle dine variabler ser rigtige ud.
Avatar billede htx98i17 Professor
27. oktober 2001 - 13:16 #2
mysql_query(\"UPDATE linkcounter SET beskrivelse=\'$beskrivelse\',search=\'$search\',navn=\'$navn\',url=\'$url\',hits=\'$hits\',cat_id=\'$cat_id\',beskrivelse=\'$beskrivelse\'
WHERE id=\'$id\'\") or die (mysql_error() ;

den vil fortælle hvad fejlen er, højst sandsynligt er feltnavn du har stavet forkert...
Avatar billede htx98i17 Professor
27. oktober 2001 - 13:17 #3
ups sådan

mysql_query(\"UPDATE linkcounter SET beskrivelse=\'$beskrivelse\',search=\'$search\',navn=\'$navn\',url=\'$url\',hits=\'$hits\',cat_id=\'$cat_id\',beskrivelse=\'$beskrivelse\'
WHERE id=\'$id\'\") or die (mysql_error()) ;
Avatar billede morten_s Nybegynder
27. oktober 2001 - 13:17 #4
Og du er sikker på at der eksistere en record med
det id nr du overfører i din WHERE parameter, hvis ikke får
du ingen ting tilbage
Avatar billede Slettet bruger
27. oktober 2001 - 13:18 #5
Og fjern så nogen af dine <? og ?> det er jo til at blive blind af :P

Altså...der er ingen grund til

<?if($mode == \"update\"){?>
<?

Man stirrer sig bare tom i hovedet på dem :)
Avatar billede per-d Nybegynder
27. oktober 2001 - 13:21 #6
hvad mener du med record
Avatar billede Slettet bruger
27. oktober 2001 - 13:23 #7
per-d> en post..
Avatar billede per-d Nybegynder
27. oktober 2001 - 13:24 #8
okay men den findes
Avatar billede Slettet bruger
27. oktober 2001 - 13:25 #9
har du prøvet det jeg skrev?

Kom med lidt mere feedback!
Avatar billede per-d Nybegynder
27. oktober 2001 - 13:25 #10
el barto det du sagde jeg skulle gøre istedet for virker ikke
Avatar billede repsac Nybegynder
27. oktober 2001 - 13:26 #11
Hvorfor beskrivelse=\'$beskrivelse\' to gange? - både først og sidst ...
Avatar billede Slettet bruger
27. oktober 2001 - 13:26 #12
virker ikke? Uddyb!

Den skulle gerne udskrive sql strengen på skærmen, og så skulle den gerne indeholde dine variabler.
Hvis den ikke gør er der fejl i resten af koden. Et sted som jeg ikke kan se.
Avatar billede Slettet bruger
27. oktober 2001 - 13:27 #13
hehe...der var fejlen vist. (repsac)
Avatar billede per-d Nybegynder
27. oktober 2001 - 13:29 #14
undskyld el barto det virkede
Avatar billede per-d Nybegynder
27. oktober 2001 - 13:30 #15
el barto det virker kun hvis man bruger dt på denne måde men ikke hvis man bruger en form

<?
include(\"connect.php\")
?>
<?
$navn = \"hej jeg er en guttermand\";
$beskrivelse = \"goddag\";
$search = \"test\";
$hits = \"hits\";
$cat_id = \"4\";
$url = \"test\"; 
$id = \"132\";
?>
<?
$sql = \"UPDATE linkcounter SET beskrivelse=\'$beskrivelse\',search=\'$search\',navn=\'$navn\',url=\'$url\',hits=\'$hits\',cat_id=\'$cat_id\',beskrivelse=\'$beskrivelse\'
WHERE id=\'$id\'\";


mysql_query($sql);
?>
Avatar billede repsac Nybegynder
27. oktober 2001 - 13:31 #16
include(\"connect.php\") - der mangler vist reelt set et ; ... ?

=>el_barto: ved ikke om MySQL laver lort i den hvis der skal ændres noget i samme kolonne i en query, men det _kunne_ da godt være ... :)
Ud over det er det da 100% tåbeligt at gøre det to gange ... :)
Avatar billede dalbjerg Nybegynder
27. oktober 2001 - 14:35 #17
Blah lille per, nu har jeg kigget det igennem og fik langt om længe det til at virke...
Nu skal du bare havde mode, til at være \'edit\' og ide skal så være iden som skal rettes i.

<? include(\"connect.php\")?>
<?
if($mode == \"edit\"){
$result = mysql_query(\"SELECT * FROM linkcounter where id = $ide\") or die( \"Unable to connect to SQL server. Reason: \".mysql_error());
$r = mysql_fetch_array($result);

$id = $r[\"id\"];
$cat_id = $r[\"cat_id\"];
$search = $r[\"search\"];
$navn = $r[\"navn\"];
$url = $r[\"url\"];
$hits = $r[\"hits\"];
$beskrivelse = $r[\"beskrivelse\"];
?>
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">
<p align=\"center\"><font size=\"4\">Edit <? echo $Navn ?></font></p><br><br>
<form action=\"edit.php?mode=update\" method=\"get\">
<input type=\"hidden\" name=\"mode\" value=\"update\">
<input type=\"hidden\" name=\"ide\" value=\"<? echo $id ?>\">
<table border=\"0\" align=\"center\">
<tr><td><FONT face=Tahoma size=2>navn:</FONT></td><td><input type=\"text\" name=\"navn\" size=\"40\" maxlength=\"40\" value=\"<? echo $navn ?>\" style=\"background-color: Black; color: White; font-family: Tahoma; font-size: 10;\">
<tr><td><FONT face=Tahoma size=2>url:</FONT></td><td><input type=\"text\" name=\"url\" size=\"40\" maxlength=\"40\" value=\"<? echo $url ?>\" style=\"background-color: Black; color: White; font-family: Tahoma; font-size: 10;\"></td></tr>
<tr><td><FONT face=Tahoma size=2>search:</FONT></td><td><input type=\"text\" name=\"search\" size=\"40\" maxlength=\"40\" value=\"<? echo $search ?>\" style=\"background-color: Black; color: White; font-family: Tahoma; font-size: 10;\"></td></tr>
<tr><td><FONT face=Tahoma size=2>hits:</FONT></td><td><input type=\"text\" name=\"hits\" size=\"40\" maxlength=\"40\" value=\"<? echo $hits ?>\" style=\"background-color: Black; color: White; font-family: Tahoma; font-size: 10;\"></td></tr>
<tr><td><FONT face=Tahoma size=2>katogori:</FONT></td><td><input type=\"text\" name=\"cat_id\" value=\"<? echo $cat_id ?>\" size=\"40\" maxlength=\"40\" style=\"background-color: Black; color: White; font-family: Tahoma; font-size: 10;\"></td></tr>
<tr><td><FONT face=Tahoma size=2>beskrivelse:</FONT></td><td><input type=\"text\" name=\"beskrivelse\" size=\"40\" maxlength=\"40\" value=\"<? echo $beskrivelse ?>\" style=\"background-color: Black; color: White; font-family: Tahoma; font-size: 10;\"></td></tr>
<tr><td colspan=\"2\"><input type=\"submit\" value=\"update\" style=\"background-color: Black; color: White; font-family: Tahoma; font-size: 10;\"></td></tr>
</table>
</form>
<? } ?>

<?if($mode == \"update\"){
$query = \"UPDATE linkcounter SET beskrivelse=\'$beskrivelse\',search=\'$search\',navn=\'$navn\',url=\'$url\',hits=\'$hits\',cat_id=\'$cat_id\',beskrivelse=\'$beskrivelse\'
WHERE id=$ide\";
mysql_query($query);
echo \"linket er opdateret.\";
} ?>
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester