Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MSSQL][PHP]Zapytanie Update
Forum PHP.pl > Forum > Przedszkole
rybenia
Witam,
mam taki problem,
że wyskakuje mi tekst, że przeprowadzono dobrze zmiany, lecz ich tak na prawdę nie zrobiono. Bynajmniej nie widać różnicy.

  1. $email1 = $q['email'];
  2. $u_id = $q['u_id'];
  3. $kod = $q['kod'];
  4. $program = $q['program'];
  5. $id = $q['id'];
  6.  
  7. $spr_email = htmlspecialchars(strip_tags($email1));
  8. $spr_u_id = htmlspecialchars(strip_tags($u_id));
  9. $spr_kod = htmlspecialchars(strip_tags($kod));
  10. $spr_program = htmlspecialchars(strip_tags($program));
  11.  
  12. if( isset($_POST['zapisz']) ) {
  13. if( !empty($spr_email) && !empty($spr_u_id) && !empty($spr_kod) && !empty($spr_program)) {
  14. echo 'sukces';
  15.  
  16.  
  17. $zapytanie = "
  18. UPDATE lista SET
  19. u_id='".$spr_u_id."',
  20. kod='".$spr_kod."' WHERE id=".$id ;
  21. $odp = mysql_query($zapytanie) or die('BŁĄD:'.mysql_error());
  22.  
  23. if ($odp)
  24. echo "<p>Aktualizacja powiodła się</p>";
  25. else
  26. echo "<p>Aktualizacja nie powiodła się!</p>";
  27.  
  28.  
  29. }
  30.  
  31. }
sadistic_son
A zamień linijkę 23 na if (isset($odp))
rybenia
To samo
melkorm
a $id na bank masz poprawne? Zrób sobie var_dumpa dla pewności, do tego var_dump na zapytaniu które sklejasz i wklej wyniki tutaj.

PS.
Cytat
A zamień linijkę 23 na if (isset($odp))


A w czym by to miało niby pomóc?
rybenia
var_dump($u_id);
var_dump($kod);
var_dump($program);
var_dump($id);
string(4) "4354"
string(13) "sadsdfsadfdsf"
string(3) "sfd"
string(2) "12"


Jeżeli dałem:

$zapytanie = "
UPDATE lista SET
u_id=".$spr_u_id.",
kod=".$spr_kod."
WHERE id=".$q['id'] ;

to mi wyskakuje error "Nieznana kolumna 'sadsdfsadfdsf' w field list"

Jak "sadsdfsadfdsf" jest to pole z formularza a nie nazwa tabeli w database.
peter13135
Nie czytałem tematu od początku, więc wybacz moje lenistwo jak coś napiszę nie tak, w każdym razie z tego co wynika z Twoich var dumpów, "sadsdfsadfdsf" zawiera się w zmiennej program a takiej nie widzę w twoim zapytaniu. Najlepiej Wyświetl zapytanie i nam je pokaż (chyba, że sam błąd znajdziesz)
czyli jak masz np.

$q = "UPDATE cośtam SET pole=" .$jakas_zmienna ;

to wyświwetl to w ten sposób:
echo $q;
rybenia
UPDATE lista SET u_id='4354', kod='sadsdfsadfdsf', program='0' WHERE id=12

Dziwna sprawa, bo wypełniam formularz a zapytanie się w ogóle nie zmienia. podane wyżej dane są z value z formularza.

$zapytanie3333 = "
UPDATE lista SET
u_id='".$spr_u_id."',
kod='".$spr_kod."',
program='".$spr_program."'
WHERE id=".$id ;
$odp = mysql_query($zapytanie3333) or die('BŁĄD:'.mysql_error());
echo $zapytanie3333;
CuteOne
A $q['email']; i pochodne pochodzą z $_POST questionmark.gif
rybenia
$q['xx'] pochodzi z zapytania na samej górze,
$zapytanie2 = "SELECT * from lista where u_id='".$u_id."'";
$produkt2 = mysql_query($zapytanie2) or die('BŁĄD:'.mysql_error());
$ileRekordow = mysql_num_rows($produkt2);
$q = mysql_fetch_array($produkt2);
peter13135
qrde, strasznie chaotyczne jest to co piszesz. Pokaż swój formularz i cały interesujący nas kod.
rybenia
Caly plik wink.gif

  1. <?php
  2. include('include.php');
  3. echo $HEAD;
  4.  
  5. $u_id = $_GET['id'];
  6. $zapytanie2 = "SELECT * from lista where u_id='".$u_id."'";
  7. $produkt2 = mysql_query($zapytanie2) or die('BŁĄD:'.mysql_error());
  8. $ileRekordow = mysql_num_rows($produkt2);
  9. $q = mysql_fetch_array($produkt2);
  10.  
  11. include('home.php')
  12. ?>
  13.  
  14. <div id="content">
  15. <div class="contenthead">
  16. <h2>Dodaj kurs</h2>
  17. </div><!-- .contenthead -->
  18. <div class="contenttable2">
  19. <div id="zakladki">
  20. <form method="POST" action="add_kurs.php">
  21. <ul>
  22. <li><input class="glowne_informacje_on" name="glowne_informacje" type="button" value="" onclick="location.href='dodaj_kurs.php'"/></li>
  23. <li><input class="nazwa_i_opis" name="nazwa_i_opis" type="button" value="" onclick="location.href='nazwa_i_opis.php'"/></li>
  24. <li><input class="tresci_emaili" name="tresci_emaili" type="button" value="" onclick="location.href='tresci_emaili.php'"/></li>
  25. </ul>
  26. </form>
  27. </div><!-- #zakladki -->
  28. <form action="" method="POST">
  29. <table>
  30. <tr>
  31. <td class="u_id_head">u_id</td> <td class="kod_head">kod</td> <td class="program_head">program</td>
  32. </tr>
  33. <tr>
  34. <input type="hidden" name="id_form" value="<?php echo $q['u_id']; ?>" />
  35. <td class="u_id"><input name="u_id" type="text" size="10"/ value="<?php echo $q['u_id']; ?>"></td>
  36. <td class="kod"><input name="kod" type="text" size="10"/ value="<?php echo $q['kod']; ?>"></td>
  37. <td class="program"><select name="program"><option><?php echo $q['program']; ?></option><option>implebot</option><option>benefiter</option></select></td>
  38. </tr>
  39. </table>
  40. <input class="zapisz" name="zapisz" type="submit" value=""/>
  41. <input class="anuluj" name="anuluj" type="button" value="" onclick="location.href='panel.php'"/>
  42. </form>
  43. </div><!-- .contenttable2 -->
  44. </div><!-- #content -->
  45. <div id="footer">
  46. <p>Coyright Š 2011 by Co reg Generator</p>
  47. </div><!-- #footer -->
  48. </div><!-- #contener -->
  49. </body>
  50. </html>
  51.  
  52. <?php
  53. $u_id = $q['u_id'];
  54. $kod = $q['kod'];
  55. $program = $q['program'];
  56. $id = $q['id'];
  57.  
  58.  
  59. $spr_u_id = htmlspecialchars(strip_tags($u_id));
  60. $spr_kod = htmlspecialchars(strip_tags($kod));
  61. $spr_program = htmlspecialchars(strip_tags($program));
  62.  
  63. if( isset($_POST['zapisz']) ) {
  64. //if( !empty($spr_u_id) && !empty($spr_kod) && !empty($spr_program)) {
  65.  
  66. $zapytanie3333 = "
  67. UPDATE lista SET
  68. u_id='".$spr_u_id."',
  69. kod='".$spr_kod."',
  70. program='".$spr_program."'
  71. WHERE id=".$id ;
  72. $odp = mysql_query($zapytanie3333) or die('BŁĄD:'.mysql_error());
  73. echo $zapytanie3333;
  74. if ($odp)
  75. echo "<p>Aktualizacja powiodła się</p>";
  76. else
  77. echo "<p>Aktualizacja nie powiodła się!</p>";
  78.  
  79.  
  80. // }
  81.  
  82. }
  83.  
  84. ?>
  85.  
Maciek1705
spróbuj tak:
  1. $qry_SQL = "UPDATE dbo.Uczniowie SET u_id = '$spr_u_id', kod = '$spr_kod' WHERE id = '$id'"; //polecenie sql
  2. $wynik = mssql_query($qry_SQL, $polaczenie); //wynik wykonania polecenia


nigdzie w twoim kodzie nie widzę abyś łączył się z bazą poza tym dziwnie te zapytanie było ujęte raz w cudzysłów raz w apostrof tak nie powinno się robić.
zobacz czy to pomoże czy nie
CuteOne
$u_id to to samo co $id... innymi słowy updateujesz dane tymi samymi danymi

ps. skoro pobierasz dane z pierwszego zapytania to po co ci formularz??


UP: jego zapis jest jak najbardziej poprawny...
rybenia
$u_id jest to pole z formularza
a $id jest to normalne pole w database na AUTO_INCREMENT

ja chce aby to działało tak.
Pobieram dane z bazy daje je do formularza jako value. Jeżeli ktoś chce to zmienia sobie jakieś pole i zapisuje



męką i zmorą mojego debilizmu zrobiłem wink.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.