Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL]Wyrazy po przecinkach
Forum PHP.pl > Forum > Przedszkole
Raven1122
Witam, mam taki problem. Wpisując dane do MySQL poprzez php, próbuje dodać składniki pizzy, czyli parę wyrazów po przecinkach, lecz gdy tak zrobię, nie za bardzo to działa. Proszę o pomoc, a tutaj skrypt:

  1. <?php
  2.  
  3. $connect = mysql_connect("localhost", "root", "ceowwyso") or
  4. die("Check Connection with the server");
  5.  
  6. mysql_select_db("pizzaimp");
  7.  
  8. //Utwórz tabelę pizze
  9. $pizze = "CREATE TABLE pizze (
  10. pizza_id int(11) NOT NULL auto_increment,
  11. pizza_name varchar(255) NOT NULL,
  12. pizzal_price varchar(5) NOT NULL,
  13. pizzab_price varchar(5) NOT NULL,
  14. pizza_desc varchar(255) NOT NULL,
  15. PRIMARY_KEY(pizza_id)
  16. )";
  17.  
  18. //Utwórz tabelę makarony
  19. $makarony = "CREATE TABLE makarony (
  20. makaron_id int(11) NOT NULL auto_increment,
  21. makaron_name varchar(255) NOT NULL,
  22. makaron_prize varchar(5) NOT NULL,
  23. makaron_desc varchar(255) NOT NULL,
  24. PRIMARY_KEY(makaron_id);
  25. )";
  26.  
  27. $results = mysql_query($makarony) or die(mysql_error());
  28.  
  29. //Utwórz tabelę dania
  30. $dania = "CREATE TABLE dania (
  31. danie_id int(11) NOT NULL auto_increment,
  32. danie_name varchar(255) NOT NULL,
  33. danie_prize varchar(5) NOT NULL,
  34. PRIMARY_KEY(danie_id)
  35. )";
  36.  
  37. $results = mysql_query($dania) or
  38.  
  39. //Utwórz tabelę sałaty
  40. $salaty = "CREATE TABLE salaty (
  41. salata_id int(11) NOT NULL auto_increment,
  42. salata_name varchar(255) NOT NULL,
  43. salata_prize varchar(5) NOT NULL,
  44. salata_desc varchar(255) NOT NULL,
  45. PRIMARY_KEY(salata_id)
  46. )";
  47.  
  48. $results = mysql_query($salaty) or die(mysql_error());
  49.  
  50. $insertpizza = "INSERT INTO pizza(pizza_id, pizza_name, pizzal_price, pizzab_price, pizza_desc) " .
  51. "VALUES (1, Margherita, 12,50, 24,50, sos, ser), " .
  52. "(2, Fungi, 13,50, 25,50), " .
  53. "(3, Vesuvio, 14,50, 27,00), " .
  54. "(4, Amore, 16,00, 29,50), ";
  55. $results = mysql_query(insertpizza) or die(mysql_error());
  56.  
  57. ?>
  58.  


Z góry dzięki smile.gif
potreb
  1. $insertpizza = "INSERT INTO pizza(pizza_id, pizza_name, pizzal_price, pizzab_price, pizza_desc) VALUES
  2. (1, Margherita, 12,50, 24,50, sos, ser),
  3. (2, Fungi, 13,50, 25,50),
  4. (3, Vesuvio, 14,50, 27,00),
  5. (4, Amore, 16,00, 29,50);";


Dalej ci wywali błąd, ale zapomniałeś o apostrofach dla danych. I jeżeli liczba kolumn się nie zgadza z danymi to również dostaniesz błąd.
Jeżeli chodzi o tabelę, to dla danych liczbowych nie stosuj się varchar.
Raven1122
Czyli ma być coś jak?

  1. $insertpizza = "INSERT INTO pizza(pizza_id, pizza_name, pizzal_price, pizzab_price, pizza_desc) VALUES
  2. ('1', 'Margherita', '12,50', '24,50', 'sos, ser'),
  3. ('2', 'Fungi', '13,50', '25,50'),
  4. ('3', 'Vesuvio', '14,50',' 27,00'),
  5. ('4', 'Amore', '16,00', '29,50');";


Ale, tam również jest przecinek, a że jestem początkujący to nie wiedziałem czy int obsłuży przecinek.
Fifi209
Dlatego zastosuj coś co pozwala przechowywać liczby zmiennoprzecinkowe
http://dev.mysql.com/doc/refman/5.0/en/data-types.html

Liczb nie wstawiaj w apostrowy czy cudzysłowia, jedynie stringi.
Raven1122
Znalałem coś jak: FLOAT(M,D), czy to zadziała? I jak tego użyć?
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.