Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Sql/Php błąd w zapytaniu
Forum PHP.pl > Forum > Przedszkole
marcwars
Witam,
tworzę kilkuczęściowy skrypt i jedna z części to plik widok.php, który tworzy tabelę i jednocześnie ją uzupełnia.
Niestety uruchomienie pliku na WampServer wersja 2.1 powoduje błąd:
Blad w tworzeniu tabeli widocka You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 8

widok.php:
  1. <?php
  2. {
  3. function stripslashes_deep($value)
  4. {
  5. $value = is_array($value) ?
  6. array_map('stripslashes_deep', $value) :
  7. stripslashes($value);
  8.  
  9. return $value;
  10. }
  11.  
  12. $_POST = array_map('stripslashes_deep', $_POST);
  13. $_GET = array_map('stripslashes_deep', $_GET);
  14. $_COOKIE = array_map('stripslashes_deep', $_COOKIE);
  15. $_REQUEST = array_map('stripslashes_deep', $_REQUEST);
  16. }
  17.  
  18. $link = mysqli_connect('xxx', 'xxx', 'xxx');
  19. if (!$link)
  20. {
  21. $error = 'Nie można się poł?czyć z serwerem bazy danych.';
  22. include 'error.html.php';
  23. exit();
  24. }
  25.  
  26. if (!mysqli_set_charset($link, 'utf8'))
  27. {
  28. $output = 'Nie można ustanowić kodowania dla poł?czenia z baz? danych.';
  29. include 'output.html.php';
  30. exit();
  31. }
  32.  
  33. if (!mysqli_select_db($link, 'produkty'))
  34. {
  35. $error = 'Nie znaleziono bazy danych produkty.';
  36. include 'error.html.php';
  37. exit();
  38. }
  39. $sql = ("CREATE TABLE widocek
  40. (`id` INT AUTO_INCREMENT PRIMARY KEY,
  41. `imie` VARCHAR (30),
  42. `nazwisko` VARCHAR (30),
  43. `wiek` INT,
  44. `zawod` VARCHAR (30),
  45. `staz` INT,
  46. )");
  47. $result = mysqli_query($link, $sql);
  48. if (!$result)
  49. {
  50. $error = 'Blad w tworzeniu tabeli widocka ' . mysqli_error($link);
  51. include 'error.html.php';
  52. exit();
  53. }
  54.  
  55. $nsql = ("INSERT INTO widocek (`imie`, `nazwisko`, `wiek`, `zawod`, `staz`)
  56. VALUES (`Jan`, `Kowalski`, `42`, `handlowiec`, `5`),
  57. VALUES (`Piotr`, `Kononowicz`, `22`, `stazysta`, `0`),
  58. VALUES (`Lucjan`, `Gawlinski`, `31`, `informatyk`, `2`),
  59. VALUES (`Katarzyna`, `Oles`, `28`, `recepcjonistka`, `3`)");
  60. $nresult = mysqli_query($link, $nsql);
  61. if (!$nresult)
  62. {
  63. $error = 'Blad w uzupełnianiu widocka ' . mysqli_error($link);
  64. include 'error.html.php';
  65. exit();
  66. }
  67.  
  68. ?>


Będę wdzięczny za wskazówki, gdzie jest błąd i jak go naprawić.
nospor
Ostatni przecinek w zapytaniu jest zbędny. Przenosze na przedszkole
marcwars
Dzięki za pomoc.
Tak myślałem, że to jeden prztyk i po robocie;)
Później błąd był też w insercie, więc zamieszczam działająca całość:
  1. <?php
  2. {
  3. function stripslashes_deep($value)
  4. {
  5. $value = is_array($value) ?
  6. array_map('stripslashes_deep', $value) :
  7. stripslashes($value);
  8.  
  9. return $value;
  10. }
  11.  
  12. $_POST = array_map('stripslashes_deep', $_POST);
  13. $_GET = array_map('stripslashes_deep', $_GET);
  14. $_COOKIE = array_map('stripslashes_deep', $_COOKIE);
  15. $_REQUEST = array_map('stripslashes_deep', $_REQUEST);
  16. }
  17.  
  18. $link = mysqli_connect('xxx', 'xxx', 'xxx');
  19. if (!$link)
  20. {
  21. $error = 'Nie można się poł?czyć z serwerem bazy danych.';
  22. include 'error.html.php';
  23. exit();
  24. }
  25.  
  26. if (!mysqli_set_charset($link, 'utf8'))
  27. {
  28. $output = 'Nie można ustanowić kodowania dla poł?czenia z baz? danych.';
  29. include 'output.html.php';
  30. exit();
  31. }
  32.  
  33. if (!mysqli_select_db($link, 'produkty'))
  34. {
  35. $error = 'Nie znaleziono bazy danych produkty.';
  36. include 'error.html.php';
  37. exit();
  38. }
  39. $sql = ("CREATE TABLE widocek
  40. (`id` INT AUTO_INCREMENT PRIMARY KEY,
  41. `imie` VARCHAR (30),
  42. `nazwisko` VARCHAR (30),
  43. `wiek` INT,
  44. `zawod` VARCHAR (30),
  45. `staz` INT
  46. )");
  47. $result = mysqli_query($link, $sql);
  48. if (!$result)
  49. {
  50. $error = 'Blad w tworzeniu tabeli widocka ' . mysqli_error($link);
  51. include 'error.html.php';
  52. exit();
  53. }
  54.  
  55. $nsql = ("INSERT INTO widocek (imie, nazwisko, wiek, zawod, staz)
  56. VALUES ( 'Jan', 'Kowalski', '42', 'handlowiec', '5'),
  57. ('Piotr', 'Kononowicz', '22', 'stazysta', '0'),
  58. ('Lucjan', 'Gawlinski', '31', 'informatyk', '2'),
  59. ('Katarzyna', 'Oles', '28', 'recepcjonistka', '3')");
  60. $nresult = mysqli_query($link, $nsql);
  61. if (!$nresult)
  62. {
  63. $error = 'Blad w uzupełnianiu widocka ' . mysqli_error($link);
  64. include 'error.html.php';
  65. exit();
  66. }
  67.  
  68. ?>


Aha i temat można uznać za zamknięty, chyba że ktoś potrzebuje w/w skryptu to oddaję do dyspozycji.
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.