Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: PHP + MYSQL
Forum PHP.pl > Forum > Bazy danych
michu9010
witam mam wielki problem z dodawaniem rekordow do bazy po prostu ich nie dodaje
plik form.php
  1. <form action="admin.php?phones=add&dodaj=yes" method="post">
  2. <table width="328" border="0" cellpadding="2" cellspacing="0">
  3. <tr>
  4. <td><div align="left">Model</div></td>
  5. <td><input name="model" type="text" size="26" /></td>
  6. </tr>
  7. <tr>
  8. <td><div align="left">EMAI</div></td>
  9. <td><input name="emai" type="text" size="26" /></td>
  10. </tr>
  11. <tr>
  12. <td height="67"><div align="left">Opis</div></td>
  13. <td><textarea name="opis"></textarea></td>
  14. </tr>
  15. <tr>
  16. <td><div align="left">Imię, Nazwisko</div></td>
  17. <td><input name="kto" type="text" size="26" /></td>
  18. </tr>
  19. <tr>
  20. <td><div align="left">Numer Telefonu</div></td>
  21. <td><input name="nrtel" type="text" size="26" value="+48" /></td>
  22. </tr>
  23. <tr>
  24. <td><div align="left">Opreracja wykonana</div></td>
  25. <td><input type="radio" name="stan" value="Tak<img src=images/yes.jpg />" />Tak<img src="images/yes.jpg" />
  26. <input type="radio" name="stan" value="Nie<img src=images/no.jpg />" checked="checked" />Nie<img src="images/no.jpg" />
  27. </td>
  28. </tr>
  29. <tr>
  30. <td><div align="left">Data</div></td>
  31. <td><input name="data" type="text" size="26" value="<?php echo date("d.m.Y"); ?>" /></td>
  32. </tr>
  33. <tr>
  34. <td><div align="left">Numer</div></td>
  35. <td><input name="nr" type="text" size="26" value="<?php for ($i=0; $i<1; $i++) echo rand(0, 99).' ';?>"/> </td>
  36. </tr>
  37. <tr>
  38. <td><div align="left">
  39. <input type="submit" name="Dodaj" value="Dodaj" />
  40. </div></td>
  41. <td><input type="reset" value="Wyczyść pola" /></td>
  42. </tr>
  43.  
  44. </form>


yes.php

  1. <?php
  2. $model = trim($_POST['model']);
  3. $emai = trim($_POST['emai']);
  4. $opis = trim($_POST['opis']);
  5. $kto = trim($_POST['kto']);
  6. $data = trim($_POST['data']);
  7. $nr = trim($_POST['nr']);
  8. $nrtel = trim($_POST['nrtel']);
  9. $stan = trim($_POST['stan']);
  10.  
  11.  
  12.  
  13.  
  14. if($model and $emai) {
  15.  
  16.  
  17. include 'connect.php';
  18.  
  19.  
  20.  
  21. $ins = @mysql_query("INSERT INTO phones SET model='$model', emai='$emai', opis='$opis', kto='$kto', data='$data', nr='$nr',nrtel='$nrtel', stan='$stan'");
  22.  
  23. if($ins) echo "Telefon został dodany poprawnie do bazy";
  24. else echo "Błąd nie udało się dodać nowego telefonu do bazy";
  25.  
  26. mysql_close($connection);
  27. }
  28. echo '<meta http-equiv="Refresh" content="1; url=admin.php?phones=show" />';
  29.  
  30.  
  31. ?>


i baza
  1. CREATE TABLE `phones` (
  2. `id` int(100) NOT NULL AUTO_INCREMENT,
  3. `emai` varchar(40) NOT NULL DEFAULT '',
  4. `model` varchar(40) NOT NULL DEFAULT '',
  5. `opis` varchar(200) NOT NULL DEFAULT '',
  6. `kto` varchar(60) NOT NULL DEFAULT '',
  7. `data` varchar(10) NOT NULL DEFAULT '',
  8. `nr` varchar(254) NOT NULL DEFAULT '',
  9. `nrtel` varchar(12) NOT NULL DEFAULT '',
  10. PRIMARY KEY (`id`)
  11. ) TYPE=MyISAM AUTO_INCREMENT=1 ;



prosze o pomoc party.gif
Kszyhuu
Cytat
$ins = @mysql_query("INSERT INTO phones SET model='$model', emai='$emai', opis='$opis', kto='$kto', data='$data', nr='$nr',nrtel='$nrtel', stan='$stan'");


Ekhem. biggrin.gif Chyba insert wygląda inaczej. smile.gif

  1. $ins = mysql_query("INSERT INTO phones (model, emai, opis, kto, data, nr, nrtel, stan) VALUES ('$model', '$emai', $opis', '$kto', '$data', '$nr', '$nrtel', '$stan');

Przy czym jeżeli np $nrtel to dajmy na to 607987654 to wtedy dajemy zmienną bez ''. tongue.gif
michu9010
nie dodaje wywala blad w pliku yes.php o to on:

  1. else echo "Błąd nie udało się dodać nowego telefonu do bazy";
blooregard
~michu9010, zamień to:
  1. $ins = mysql_query("INSERT INTO phones (model, emai, opis, kto, data, nr, nrtel, stan) VALUES ('$model', '$emai', $opis', '$kto', '$data', '$nr', '$nrtel', '$stan');

na:
  1. $query = "INSERT INTO phones (model, emai, opis, kto, data, nr, nrtel, stan) VALUES ('$model', '$emai', $opis', '$kto', '$data', '$nr', '$nrtel', '$stan';
  2. echo $query;
  3. $ins = mysql_query($query);

i pokaż, co Ci wyświetliło po tej pogrubionej linijce.

Cytat
Ekhem. Chyba insert wygląda inaczej.

Mylisz się i masz rację zarazem smile.gif
Paradoks, co?

http://dev.mysql.com/doc/refman/5.1/en/insert.html

Cytat
12.2.5.1. INSERT ... SELECT Syntax
12.2.5.2. INSERT DELAYED Syntax
12.2.5.3. INSERT ... ON DUPLICATE KEY UPDATE Syntax
INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE]
[INTO] tbl_name [(col_name,...)]
{VALUES | VALUE} ({expr | DEFAULT},...),(...),...
[ ON DUPLICATE KEY UPDATE
col_name=expr
[, col_name=expr] ... ]

Or:
INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE]
[INTO] tbl_name
SET col_name={expr | DEFAULT}, ...
[ ON DUPLICATE KEY UPDATE
col_name=expr
[, col_name=expr] ... ]


Or:
INSERT [LOW_PRIORITY | HIGH_PRIORITY] [IGNORE]
[INTO] tbl_name [(col_name,...)]
SELECT ...
[ ON DUPLICATE KEY UPDATE
col_name=expr
[, col_name=expr] ... ]

INSERT inserts new rows into an existing table. The INSERT ... VALUES and INSERT ... SET forms of the statement insert rows based on explicitly specified values. The INSERT ... SELECT form inserts rows selected from another table or tables. INSERT ... SELECT is discussed further in Section 12.2.5.1, ?INSERT ... SELECT Syntax?.
michu9010
wyswietlilo sie takie cos

  1. INSERT INTO phones (model, emai, opis, kto, data, nr, nrtel, stan) VALUES ('Se k850i', '379385739563789', sdgbd', 'Michał Jastrzębski', '24.12.2009', '17', '+48663310897', 'Nie[img]http://localhost/images/no.jpg[/img]')Błąd nie udało się dodać nowego telefonu do bazy



formularz wywoluje za pomoca linku admin.php?phones=add a plik yes.php jest wywolywany admin.php?phones=add&dodaj=yes

a przyczyna moze byc zbyt skomplikowana struktura petli switch (tak naprawde ja sie posluguje)
blooregard
Cytat
INSERT INTO phones (model, emai, opis, kto, data, nr, nrtel, stan) VALUES ('Se k850i', '379385739563789', sdgbd', 'Michał Jastrzębski', '24.12.2009', '17', '+48663310897', 'Nie')Błąd nie udało się dodać nowego telefonu do bazy

Widzisz teraz byka? Brak apostrofu (tam, gdzie pogrubiłem, a dokładnie przed sdgbd ).

Podstawy - jeśli zapytanie nie wykonuje się zgodnie z Twoimi założeniami, wyświetl je, a następnie wykonaj np. w phpMyAdminie. I masz błąd na talerzu podany. Tutaj zresztą widac to od razu.
michu9010
zrobie i naprawione dobra rzecz z tym phpmyadminem smile.gif blach blad brakowalo jednego wiersza w bazie tongue.gif
pozdrawiam i dziekuje za pomysly wszystkim i Wesołych i pogodnych Swiat Bozego Narodzenia smile.gifsmile.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.