SQL gond

SQL gond
2005-11-15T22:28:42+01:00
2005-11-16T12:53:48+01:00
2022-07-23T03:38:11+02:00
LoA
Helló arcok! Mivel itt sok az ész gondoltam felteszem ide a kérdésemet, ami a következő: miért nem módosítja a cuccokat ez a genyó???
<?php
$keres4=mysql_query("SELECT * FROM tagok WHERE `id` =".$_GET['nev']." ;");
$z=mysql_fetch_assoc($keres4);

?>
<center><form action="<?php echo $PHP_SELF; ?>" method="get">
nick:<input class="input" type="text" name="nick" value="<?php echo $z['nick']; ?>"><br>
név:<input class="input" type="text" name="neve" value="<?php echo $z['nev']; ?>"><br>
icq:<input class="input" type="text" name="icq" value="<?php echo $z['icq']; ?>"><br>
msn:<input class="input" type="text" name="msn" value="<?php echo $z['msn']; ?>"><br>
<textarea name="megjegyzes" class="input" rows="5" cols="40"><?php echo $z['megjegyzes']; ?></textarea><br>
rang:<input class="input" type="text" name="rang" value="<?php echo $z['rang']; ?>"><br>
<input type="hidden" name="id" value="<?php $z['nev']; ?>">
<input class="input" type="submit" value="módosítás">
</form><br>
(Ha változtatni akarsz a neveden azt úgy teheted meg, hogy azokat az adatokat is beírod a megfelelő rublikákba amiket nem akarsz megváltoztatni. Sajnos egyenlőre csak így mukodik.)</center>
</center>
<?php
if(isset($_GET["nick"])){
mysql_query("UPDATE tagok SET nev='".$_GET["neve"]."', nick='".$_GET["nick"]."', msn='".$_GET["msn"]."', icq='".$_GET["icq"]."', megjegyzes='".$_GET["megjegyzes"]."', rang='".$_GET["rang"]."' WHERE id='".$z["id"]."';");
?>
<script>
document.location='cumo.php';
</script>
<?php
}
?>
Mutasd a teljes hozzászólást!

  • Hibaüzenetet nem ad, egyxerűen nem adja hozzá a dolgokat.
    Mutasd a teljes hozzászólást!
  • Írasd ki $_GET['nev'] és $z["id"] értékét.
    Tartalmaznak adoatot? Ha igen helyes?
    Miért használod id-t 2x, két különböző változóval? (Miért nem lehet az update query-nél is a feltétel $_GET['nev']?)
    Mutasd a teljes hozzászólást!
  • Ezt a sort szedd szét egy kicsit:

    mysql_query("UPDATE tagok SET nev='".$_GET["neve"]."', nick='".$_GET["nick"]."', msn='".$_GET["msn"]."', icq='".$_GET["icq"]."', megjegyzes='".$_GET["megjegyzes"]."', rang='".$_GET["rang"]."' WHERE id='".$z["id"]."';");


    Így:
    $sql="UPDATE tagok SET nev='".$_GET["neve"]."', nick='".$_GET["nick"]."', msn='".$_GET["msn"]."', icq='".$_GET["icq"]."', megjegyzes='".$_GET["megjegyzes"]."', rang='".$_GET["rang"]."' WHERE id='".$z["id"]."'"; // A végén felesleges az ' után a ";". echo "<br>".$sql."<br>"; // Nézd meg, hogy mit ír ki. // Ha szemre jó, akkor másold be egy phpmysql-be, és nézd meg az mit mond, föleg meg nézd meg, hogy van-e olyan rekord. mysql_query($sql); echo "<br>".mysql_error()."<br>";


    Akkor esetleg látod a hibát.

    Vagy még a phpmyadminba megnézhetsz egy:
    select * from tagok where ****

    Ahol a "****" a fenti kiírt feltételed, így látod, hogy van-e olyan?

    -----

    Biztos hogy jó, hogyha beírod az adatokat, akkor az űrlap küldésénél előbb visszaírod a képernyőre a régit, és utána módosítod le?


    Ezt:
    <?php
    if(isset($_GET["nick"])){
    mysql_query("UPDATE tagok SET nev='".$_GET["neve"]."', nick='".$_GET["nick"]."', msn='".$_GET["msn"]."', icq='".$_GET["icq"]."', megjegyzes='".$_GET["megjegyzes"]."', rang='".$_GET["rang"]."' WHERE id='".$z["id"]."';");
    ?>

    én a legelejére tenném.
    Mutasd a teljes hozzászólást!
  • Az adatbázisban sem változik meg?
    Egyébként rossz a sorrend mert elöbb kérdezed le és csak utánna változtatsz az adatokon. Vagyis:

    1. select
    2. adatok átírása a formon
    3. get-tel elküld
    4. select (vagyis még a régi adatok jönnek)
    5. update

    Hozd a kód elejére az update-t
    Mutasd a teljes hozzászólást!
  • "Hozd a kód elejére az update-t"



    Micu hozzászólása LoA (22:28) részére:
    Biztos hogy jó, hogyha beírod az adatokat, akkor az űrlap küldésénél előbb visszaírod a képernyőre a régit, és utána módosítod le?"
    ...
    én a legelejére tenném.



    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd