Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [html][php][sql]Problemy z dopisywaniem rekordow do bazy MySql
Forum PHP.pl > Forum > Przedszkole
rossco
Witam i zycze wesolego alleluja:))

Mam problem z dopisywaniem rekordow do bazy danych. Zrobilem formularz ktory ma wysylac dane do pliku insert.php a plik insert.php zapisywac je w bazie MySql. Nie stety dane sie nie zapisuja w bazie po mimo ze zadne bledy po przejsciu do pliku insert.php sie nie drukoja.




  1. <form action="insert.php" method="post">
  2. <table border="0">
  3. <tr><td>Login:</td><td><input type="text" name="login" maxlength="13" size="30"></td></tr>
  4. <tr><td>Haslo:</td><td> <input type="password" name="haslo" maxlength="30" size="30"></td></tr>
  5. </td></tr>
  6. <tr><td>Email:</td><td><input type="text" name="email" maxlength="13" size="30"></td></tr>
  7. <tr><td colspan="2"><input type="submit" value="Zapisz"></td></tr>
  8. </table>
  9. </form>



  1. <?
  2.  
  3. $polaczenie=mysql_connect('localhost','login','mamusia');
  4. if (!$polaczenie) echo ('Blad w polaczeniu z aparatem bazy danych!!!<BR>');
  5.  
  6. $stat=mysql_select_db('baza',$polaczenie);
  7. if (!$stat) echo ('Nie moge sie polaczyc z wybrana baza danych!!!<BR>');
  8.  
  9.  
  10. $efekt=mysql_db_query("baza","insert into klienci (login,haslo,email,data,) values('$login','$haslo','$email',now());");
  11.  
  12. if ($efekt) echo ('dopisalem rekord');
  13.  
  14.  
  15. mysql_close($polaczenie);
  16.  
  17.  
  18.  
  19. ?>



Struktura tabeli dla `klienci`
--

  1. CREATE TABLE `klienci` (
  2. `Id` mediumint(5) UNSIGNED NOT NULL AUTO_INCREMENT,
  3. `login` char(20) DEFAULT NULL,
  4. `haslo` char(20) DEFAULT NULL,
  5. `email` char(25) DEFAULT NULL,
  6. `Data` datetime DEFAULT NULL,
  7. PRIMARY KEY (`Id`)
  8. ) TYPE=MyISAM AUTO_INCREMENT=1 ;
KCG
Nie lepiej mysql_query() zamiast mysql_db_query? Bo i tak wybierasz bazę wcześniej (mysql_select_db).
Spróbuj zmienić $login na $_POST['login']. Tylko wtedy jak masz '$login' to będzie '".$_POST['login']."' smile.gif
rojmarek
  1. <?php
  2. ?>
rossco
Zrobilem tak jak mowil KCG i nic nie pomoglo. Po wyslaniu formularza przecgodzi na insert.php i nic nie drukuje zadnych informacji o bledach po ani ze dopisal rekord po prostu czysta biala strona i zadnego rekordu w bazie. Moze baza jest cos nie tak?
KCG
  1. <form action="insert.php" method="post">
  2. <table border="0">
  3. <tr><td>Login:</td><td><input type="text" name="login" maxlength="13" size="30" /></td></tr>
  4. <tr><td>Haslo:</td><td> <input type="password" name="haslo" maxlength="30" size="30" /></td></tr>
  5. <tr><td>Email:</td><td><input type="text" name="email" maxlength="13" size="30" /></td></tr>
  6. <tr><td colspan="2"><input type="submit" value="Zapisz" /></td></tr>
  7. </table>
  8. </form>

  1. <?
  2.  
  3. $conn = mysql_connect('localhost','login','mamusia') or die('Blad w polaczeniu z aparatem bazy danych!!!<BR>');
  4.  
  5. mysql_select_db('baza',$conn) or die('Nie moge sie polaczyc z wybrana baza danych!!!<br />');
  6.  
  7. $sql = "INSERT INTO klienci (login,haslo,email,data) VALUES (
  8. '".$_POST['login']."',
  9. '".$_POST['haslo']."',
  10. '".$_POST['email']."',
  11. '".date("Y-m-d")."'
  12.  )";
  13. $result = mysql_query($sql) or die($sql."<br />".mysql_error());
  14. echo "!complete!";
  15.  
  16. ?>

To teraz zrobiłem zupełnie po swojemu. smile.gif Musi działać! winksmiley.jpg
Teraz przynajmniej wyświetli błąd mysql'a, o ile taki wystąpi.
skowron-line
@KCG do wpisywana w pole w bazie ktore jest typu datetime lepiej stosowac funkcje w ktore wyposazona jest baza np. current_date();
rossco
Dzieki wielkie KGC jest guitar.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.