Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][MSSQL][PHP]błąd w kodach
Forum PHP.pl > Forum > Przedszkole
19Dziewczyna
Witam serdecznie smile.gif

Jestem tutaj po raz pierwszy więc jak źle coś napiszę, proszę o wybaczenie ;D

A więc, mam problem:
Miałam opracować skrypt, który będzie do naszej bazy danych dodawał kolejnych pracowników, no to coś tam stworzyłam.
Mam dwa kody i dwa nie chcą działać. Bardzo proszę , jeżeli ktoś by mógł na nie zerknąć bo ja już sił nie mam:D :


1)


  1. <?php
  2. if($send=='Wyslij') {
  3. $link = mysql_connect($pracownicy, '', '');
  4. mysql_select_db("PRACOWNICY");
  5. $zapytanie = "INSERT INTO PRACOWNICY SET NAZWISKO='$nazwisko', IMIE='$imie', ETAT='$etat', ID_SZEFA='$idszefa', ZATRUDNIONY='$date', PLACA_POD='$placap', PLACA_DOD='$placad', ID_ZESP='$idzesp'";
  6. $wykonaj = mysql_query ($zapytanie);
  7.  
  8.  
  9. }
  10. echo "Dane dodane prawidlowo"
  11.  
  12.  
  13. ?>



ii ten ładnie wyświetla się na stronie i wogóle,
lecz nie dodaje mi tych pracowników żadnych sad.gif


2)

  1. <html>
  2. <head>
  3. <title>Tytuł jakis tam tongue.gif</title>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5.  
  6. </head>
  7. <body>
  8. <h1> Dodaj nowego pracownika </h1>
  9.  
  10. <?php
  11.  
  12. $dbc = @mysqli_connect ('localhost', 'root', '', 'przyklad' );
  13.  
  14. ?>
  15.  
  16.  
  17.  
  18. <form method="POST" action="test.php">
  19. Id pracownika: <input type="text" name="id" maxlength="11" /> <br />
  20. Imię: <input type="text" name="imie" maxlength="20" /> <br />
  21. Nazwisko: <input type="text" name="nazwisko" maxlength="15" /> <br />
  22. Etat: <input type="text" name="etat" maxlength="20" /> <br />
  23. Płaca podstawowa: <input type="text" name="placa_pod" /> <br />
  24. Płaca dodatkowa: <input type="text" name="placa_dod" /> <br />
  25. ID Szefa: <select name="szef" >
  26.  
  27. <?php
  28. $q = "SELECT ID_PRAC FROM pracownicy";
  29. $r = mysqli_query ($dbc, $q) or trigger_error("Zapytanie: $q\n<br />Błąd MySQL: " . mysqli_error($dbc));
  30.  
  31. $num = mysqli_num_rows($r);
  32.  
  33. for ($i=0; $i<$num; $i++) {
  34. $row = mysqli_fetch_array($r);
  35. $id = $row['ID_PRAC'];
  36.  
  37.  
  38. echo '<option>'. $id .'</option>';
  39. }
  40. ?>
  41. </select> <br />
  42.  
  43.  
  44. Zespół: <select name="zespol" >
  45.  
  46. <?php
  47. $q = "SELECT NAZWA FROM zespoly";
  48. $r = mysqli_query ($dbc, $q) or trigger_error("Zapytanie: $q\n<br />Błąd MySQL: " . mysqli_error($dbc));
  49.  
  50. $num = mysqli_num_rows($r);
  51.  
  52. for ($i=0; $i<$num; $i++) {
  53. $row = mysqli_fetch_array($r);
  54. $nazwa = $row['NAZWA'];
  55.  
  56. echo '<option>'. $nazwa .'</option>';
  57. }
  58. ?>
  59. </select> <br />
  60.  
  61. <input type="submit" name="Dodaj" value="Dodaj">
  62. </form>
  63.  
  64.  
  65.  
  66. </body>
  67. </html>
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74. <?php
  75.  
  76. if(isset($_POST['Dodaj'])) {
  77.  
  78. $id_prac = $_POST['id'];
  79. $imie = $_POST['imie'];
  80. $nazwisko = $_POST['nazwisko'];
  81. $etat = $_POST['etat'];
  82. $placa_pod = $_POST['placa_pod'];
  83. $placa_dod = $_POST['placa_dod'];
  84.  
  85. $id_szefa = $_POST['szef'];
  86. $zespol = $_POST['zespol'];
  87.  
  88.  
  89. // pobierz ID zespolu
  90.  
  91. $q = "SELECT ID_ZESP FROM zespoly WHERE NAZWA='$zespol' ";
  92. $r = mysqli_query ($dbc, $q) or trigger_error("Zapytanie: $q\n<br />Błąd MySQL: " . mysqli_error($dbc));
  93. $row = mysqli_fetch_array($r);
  94. $id_zesp = $row['ID_ZESP'];
  95.  
  96. // koniec
  97.  
  98. // dodaj do bazy
  99.  
  100. $q = "INSERT INTO pracownicy (ID_PRAC, NAZWISKO, IMIE, ETAT, ID_SZEFA, ZATRUDNIONY, PLACA_POD, PLACA_DOD, ID_ZESP )
  101. VALUES ('$id_prac', '$nazwisko', '$imie', '$etat', '$id_szefa', NOW(), '$placa_pod', '$placa_dod', '$id_zesp')";
  102. $r = mysqli_query ($dbc, $q) or trigger_error("Zapytanie: $q\n<br />Błąd MySQL: " . mysqli_error($dbc));
  103.  
  104. if (mysqli_affected_rows($dbc) == 1) { // Zapytanie wykonane poprawnie.
  105.  
  106. echo 'Dodano nowego pracownika' ;
  107. }
  108.  
  109. }
  110.  
  111.  
  112. mysqli_close($dbc);
  113.  
  114. ?>



I tu jak wpisuję dane i klikam dodaj wyskakuje mi :


Kod
Nie znaleziono obiektu!

Nie znaleziono żądanego URLa na tym serwerze. Odnośnik na referującej stronie wydaje się być nieprawidłowy lub nieaktualny. Poinformuj autora tej strony o problemie.

Jeśli myślisz, że jest to błąd tego serwera, skontaktuj się z administratorem.
Error 404
localhost
02/04/11 07:55:22
Apache/2.2.14 (Win32) DAV/2 mod_ssl/2.2.14 OpenSSL/0.9.8l mod_autoindex_color PHP/5.3.1


a powinno dodać.


nie wiem co źle robięwink.gif więc prosze mnie oświecić ;P

Miłego Dnia:)
Armstrong
Witamy na forum.

Co do 1-szego linijke 10 daj do lini 8 a w dziesiątej napisz
  1. else echo "nie wysyłamy";

A tak w ogóle gdzie jest formularz dla 1-szego skryptu?

co do 2:

form action masz test.php tak się nazywa plik z tym formularzem?
19Dziewczyna
hmm zmeiniłam w tym pierwszym i wraz nie wysyła mi sad.gif

a w tym drugim no to mam ten jeden plik tylko. hmm?
osl
wstaw za mysql_query coś w guście mysql_error - jeśli jest jakiś problem, to dowiesz się jaki.

co do drugiego: atrybut "action" formularza musi wskazywać na ten jeden plik, ale nie ujawniasz, jak się on nazywa wink.gif
19Dziewczyna
no ok mam dwa pliki test.php i dodawanie.php


jak włączam plik dodawanie i klikam dodj wyskakuje mi takie bledy :

Kod
Warning: mysqli_query() expects parameter 1 to be mysqli, null given in D:\programy\xxamp\xamp\xampplite\htdocs\test.php on line 20

Warning: mysqli_error() expects parameter 1 to be mysqli, null given in D:\programy\xxamp\xamp\xampplite\htdocs\test.php on line 20

Notice: Zapytanie: SELECT ID_ZESP FROM zespoly WHERE NAZWA='ADMINISTRACJA'
B__d MySQL: in D:\programy\xxamp\xamp\xampplite\htdocs\test.php on line 20

Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, null given in D:\programy\xxamp\xamp\xampplite\htdocs\test.php on line 21

Warning: mysqli_query() expects parameter 1 to be mysqli, null given in D:\programy\xxamp\xamp\xampplite\htdocs\test.php on line 30

Warning: mysqli_error() expects parameter 1 to be mysqli, null given in D:\programy\xxamp\xamp\xampplite\htdocs\test.php on line 30

Notice: Zapytanie: INSERT INTO pracownicy (ID_PRAC, NAZWISKO, IMIE, ETAT, ID_SZEFA, ZATRUDNIONY, PLACA_POD, PLACA_DOD, ID_ZESP ) VALUES ('', '', '', '', '110', NOW(), '', '', '')
B__d MySQL: in D:\programy\xxamp\xamp\xampplite\htdocs\test.php on line 30

Warning: mysqli_affected_rows() expects parameter 1 to be mysqli, null given in D:\programy\xxamp\xamp\xampplite\htdocs\test.php on line 32

Warning: mysql_close() expects parameter 1 to be resource, null given in D:\programy\xxamp\xamp\xampplite\htdocs\test.php on line 39

osl
Cytat
włączam plik dodawanie ; D:\programy\xxamp\xamp\xampplite\htdocs\test.php

to który plik? smile.gif

w lini
Kod
$dbc = @mysqli_connect ('localhost', 'root', '', 'przyklad' );

usuń @ - jak masz jakiś błąd połączenia to go nie zobaczysz;
dodatkowo, dodaj:
Kod
if (!$dbc) {
    die('Connect Error (' . mysqli_connect_errno() . ') '
            . mysqli_connect_error());
}

powinno dać jeszcze więcej informacji.
19Dziewczyna
if (!$dbc) {
die('Connect Error (' . mysqli_connect_errno() . ') '
. mysqli_connect_error());
}


w ktorym miejscu mam to dodac?
amii
Wrzuć to pod:
$dbc = @mysqli_connect ('localhost', 'root', '', 'przyklad' );

Dodatkowo popraw składnie (set jest używany przy instrukcji update):
  1. $zapytanie = "INSERT INTO PRACOWNICY SET NAZWISKO='$nazwisko', IMIE='$imie', ETAT='$etat', ID_SZEFA='$idszefa', ZATRUDNIONY='$date', PLACA_POD='$placap', PLACA_DOD='$placad', ID_ZESP='$idzesp'";
  2.  
  3. //taka skladnia powinna byc przy insert
  4. $zapytanie = "INSERT INTO PRACOWNICY (NAZWISKO, IMIE, ETAT, ID_SZEFA, ZATRUDNIONY, PLACA_POD, PLACA_DOD, ID_ZESP) VALUES ('$nazwisko', '$imie', '$etat', '$idszefa', '$date', '$placap', '$placad', '$idzesp')";
  5.  
  6. //taka skladnia jest przy update w where trzeba dac jakis warunek bo inaczej nadpisze wszystkie rekordy!!!
  7. $zapytanie = "UPDATE PRACOWNICY SET NAZWISKO='$nazwisko', IMIE='$imie', ETAT='$etat', ID_SZEFA='$idszefa', ZATRUDNIONY='$date', PLACA_POD='$placap', PLACA_DOD='$placad', ID_ZESP='$idzesp' WHERE id=$id";
19Dziewczyna
Armi ;D

mam ten kod :

  1. <?php
  2. define('SQL_HOST', 'localhost'); //numer hosta na 99% localhost
  3. define('SQL_USER', 'root'); //nazwa uzytkownika bazy danych
  4. define('SQL_PASS', ''); //haslo bazy danych
  5. define('SQL_DB', 'pracownicy'); //nazwa bazy danych
  6.  
  7.  
  8.  
  9. //Funkcja laczaca sie z baza danych.
  10. function connect_to_db() {
  11. $db = mysql_connect(SQL_HOST, SQL_USER, SQL_PASS) or die ('Nie moge sie polaczyc z baza danych: ' . mysql_error());
  12.  
  13. mysql_select_db(SQL_DB) or die('Nie moga wybrac bazy danych wystapil blad: ' . mysql_error());
  14.  
  15. mysql_query("SET NAMES 'utf8'");
  16. mysql_query('SET character_set_connection=utf8');
  17. mysql_query('SET character_set_client=utf8');
  18. mysql_query('SET character_set_results=utf8');
  19. }
  20.  
  21. // CLEAN - cleaning query czysci zapytania mysql zapobiega atakom SQLInjection
  22. function clean($query) {
  23. $query = stripslashes($query);
  24. }
  25. $query = mysql_real_escape_string($query);
  26. return $query;
  27. }
  28.  
  29. connect_to_db(); //laczymy sie z baza danych
  30. ?>
  31. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  32. <html xml:lang="en" lang="en" xmlns="http://www.w3.org/1999/xhtml">
  33. <head>
  34. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  35. <title>Skrypt dodajacy pracowników do bazy danych</title>
  36. </head>
  37. <body>
  38.  
  39.  
  40. <form method="POST" action="test.php">
  41. Id pracownika: <input type="text" name="id" maxlength="11" /> <br />
  42. Imię: <input type="text" name="imie" maxlength="20" /> <br />
  43. Nazwisko: <input type="text" name="nazwisko" maxlength="15" /> <br />
  44. Etat: <input type="text" name="etat" maxlength="20" /> <br />
  45. Płaca podstawowa: <input type="text" name="placa_pod" /> <br />
  46. Płaca dodatkowa: <input type="text" name="placa_dod" /> <br />
  47. ID Szefa: <select name="szef">
  48.  
  49. <?php
  50. $q = "SELECT ID_PRAC FROM PRACOWNICY";
  51. $r = mysql_query ($q) or die("Zapytanie: $q\n<br />Błąd MySQL: " . mysql_error());
  52. $num = mysql_num_rows($r);
  53.  
  54. while ($row = mysql_fetch_array($r)) echo '<option>'. $row['ID_PRAC'] .'</option>';
  55.  
  56. ?>
  57. </select>
  58.  
  59. Zespół: <select name="zespol" >
  60.  
  61. <?php
  62. $q = "SELECT NAZWA FROM ZESPOLY";
  63. $r = mysql_query ($q) or die("Zapytanie: $q\n<br />Błąd MySQL: " . mysql_error());
  64. //$num = mysql_num_rows($r);
  65.  
  66. while($row = mysql_fetch_array($r)) echo '<option value="'.$row['NAZWA'].'">'. $row['NAZWA'] .'</option>';
  67.  
  68. ?>
  69. </select>
  70. <input type="submit" name="Dodaj" value="Dodaj">
  71. </form>
  72.  
  73. <?php
  74. //jesli formularz zostal wyslany to filtrujemy i dodajemy dane do bazy
  75.  
  76. if(isset($_POST['Dodaj'])) {
  77.  
  78. foreach ($_POST as $key => $value) $$key = clean($value); //filtrujemy dane i przypisujemy zmienne
  79.  
  80.  
  81.  
  82. // pobierz ID zespolu
  83. $q = "SELECT ID_ZESP FROM ZESPOLY WHERE NAZWA='$zespol'";
  84. $r = mysql_query ($q) or die("Zapytanie: $q\n<br />Błąd MySQL: " . mysql_error());
  85. $row = mysql_fetch_array($r);
  86. $id_zesp = $row['ID_ZESP'];
  87.  
  88.  
  89.  
  90. //wstawiamy dane do bazy
  91. if(!empty($id) && !empty($nazwisko) && !empty($imie)) {
  92. $q = "INSERT INTO PRACOWNICY (ID_PRAC, NAZWISKO, IMIE, ETAT, ID_SZEFA, ZATRUDNIONY, PLACA_POD, PLACA_DOD, ID_ZESP )
  93. VALUES ('$id', '$nazwisko', '$imie', '$etat', '$szef', NOW(), '$placa_pod', '$placa_dod', '$id_zesp')";
  94.  
  95. $r = mysql_query($q) or die("Zapytanie: $q\n<br />Błąd MySQL: " . mysql_error());
  96.  
  97. if(mysql_affected_rows() == 1) echo 'Dodanie rekordów wykonane poprawnie.<br>';
  98. else echo 'Błąd przy dodawaniu rekordów do bazy danych.<br>';
  99.  
  100.  
  101. }
  102. else echo 'Nie zdefiniowałeś wszystkich potrzebnych zmiennych aby dodać rekord do bazy danych.';
  103. foreach ($_POST as $key => $value) unset($$key); //kasujemy zmienne POST aby nie wysylac zbednych danych przy odswiezaniu strony
  104. }
  105. ?>
  106. </body>
  107. </html>



i co ja z nim robię? bo jak wpisałam te dane wszytskie i wziełam dodaj to mi odwołało do innego zadani ktore mialam pod nazwa index.php
Czyli ja musze mieć jakiś inny plik tak ?
hehe bo ja już nie kumam biggrin.gif


taki błąd mi wyskakuje :
#
Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'ODBC'@'localhost' (using password: NO) in D:\programy\xxamp\xamp\xampplite\htdocs\test.php on line 22
Nie moge sie polaczyc z baza danych: Access denied for user 'ODBC'@'localhost' (using password: NO)
osl
sprawdź jeszcze raz czy używasz dobrych danych do połączenia (login/password) - komunikat jasno mówi, że nie masz dostępu po prostu.
19Dziewczyna
dobrych
Armstrong
Pisze jasno iż użytkownik:

ODBC nie ma dostępu. Na pewno podałaś dobre hasło oraz login? Sprawdź 3 razy.
osl
ustawienia bazy danych, host, user/password - coś z tego musi być nie tak wink.gif
19Dziewczyna
Użytkownik Host Hasło Globalne uprawnienia 1 Nadawanie
pma localhost Nie USAGE Nie
root localhost Nie ALL PRIVILEGES Tak
Armstrong
ustaw jakieś hasło nie zostawiaj puste . A gdzie ODBC?
osl
Cytat
Access denied for user 'ODBC'@'localhost'


Cytat
pma localhost Nie USAGE Nie
root localhost Nie ALL PRIVILEGES Tak


To jest użytkownik ODBC czy go nie ma? smile.gif
19Dziewczyna
ok inny problem ;D hmm powiedzmy

1)
  1. <?php
  2. define('SQL_HOST', 'localhost');
  3. define('SQL_USER', 'root'); //nazwa uzytkownika bazy danych
  4. define('SQL_PASS', ''); //haslo bazy danych
  5. define('SQL_DB', 'przyklad'); //nazwa bazy danych
  6.  
  7.  
  8.  
  9. //Funkcja laczaca sie z baza danych.
  10. function connect_to_db() {
  11. $db = mysql_connect(SQL_HOST, SQL_USER, SQL_PASS) or die ('Nie moge sie polaczyc z baza danych: ' . mysql_error());
  12.  
  13. mysql_select_db(SQL_DB) or die('Nie moga wybrac bazy danych wystapil blad: ' . mysql_error());
  14.  
  15. mysql_query("SET NAMES 'utf8'");
  16. mysql_query('SET character_set_connection=utf8');
  17. mysql_query('SET character_set_client=utf8');
  18. mysql_query('SET character_set_results=utf8');
  19. }
  20.  
  21. // CLEAN - cleaning query czysci zapytania mysql zapobiega atakom SQLInjection
  22. function clean($query) {
  23. $query = stripslashes($query);
  24. }
  25. $query = mysql_real_escape_string($query);
  26. return $query;
  27. }
  28.  
  29. connect_to_db(); //laczymy sie z baza danych
  30. ?>
  31. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  32. <html xml:lang="en" lang="en" xmlns="http://www.w3.org/1999/xhtml">
  33. <head>
  34. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  35. <title>Skrypt dodajacy pracowników do bazy danych</title>
  36. </head>
  37. <body>
  38.  
  39.  
  40. <form method="POST" action="test.php">
  41. Id pracownika: <input type="text" name="id" maxlength="11" /> <br />
  42. Imię: <input type="text" name="imie" maxlength="20" /> <br />
  43. Nazwisko: <input type="text" name="nazwisko" maxlength="15" /> <br />
  44.  
  45. Płaca podstawowa: <input type="text" name="placa_pod" /> <br />
  46. Płaca dodatkowa: <input type="text" name="placa_dod" /> <br />
  47. ID Szefa: <select name="szef"> </br>
  48.  
  49.  
  50. <?php
  51. $q = "SELECT ID_PRAC FROM PRACOWNICY";
  52. $r = mysql_query ($q) or die("Zapytanie: $q\n<br />Błąd MySQL: " . mysql_error());
  53. $num = mysql_num_rows($r);
  54.  
  55. while ($row = mysql_fetch_array($r)) echo '<option>'. $row['ID_PRAC'] .'</option>';
  56.  
  57. ?>
  58. </select>
  59.  
  60. etat: <select name="etat" >
  61.  
  62. <?php
  63. $q = "SELECT ETAT FROM PRACOWNICY";
  64. $r = mysql_query ($q) or die("Zapytanie: $q\n<br />Błąd MySQL: " . mysql_error());
  65. //$num = mysql_num_rows($r);
  66.  
  67. while($row = mysql_fetch_array($r)) echo '<option value="'.$row['ETAT'].'">'. $row['ETAT'] .'</option>';
  68.  
  69. ?>
  70.  
  71.  
  72.  
  73.  
  74. </select>
  75. <input type="submit" name="Dodaj" value="Dodaj">
  76. </form>
  77.  
  78. <?php
  79.  
  80. //jesli formularz zostal wyslany to filtrujemy i dodajemy dane do bazy
  81.  
  82. if(isset($_POST['Dodaj'])) {
  83.  
  84. foreach ($_POST as $key => $value) $$key = clean($value); //filtrujemy dane i przypisujemy zmienne
  85.  
  86.  
  87.  
  88. // pobierz ID zespolu
  89. $q = "SELECT ID_ZESP FROM ZESPOLY WHERE NAZWA='$zespol'";
  90. $r = mysql_query ($q) or die("Zapytanie: $q\n<br />Błąd MySQL: " . mysql_error());
  91. $row = mysql_fetch_array($r);
  92. $id_zesp = $row['ID_ZESP'];
  93.  
  94.  
  95.  
  96. //wstawiamy dane do bazy
  97. if(!empty($id) && !empty($nazwisko) && !empty($imie)) {
  98. $q = "INSERT INTO PRACOWNICY (ID_PRAC, NAZWISKO, IMIE, ETAT, ID_SZEFA, ZATRUDNIONY, PLACA_POD, PLACA_DOD, ID_ZESP )
  99. VALUES ('$id', '$nazwisko', '$imie', '$etat', '$szef', NOW(), '$placa_pod', '$placa_dod', '$id_zesp')";
  100.  
  101. $r = mysql_query($q) or die("Zapytanie: $q\n<br />Błąd MySQL: " . mysql_error());
  102.  
  103. if(mysql_affected_rows() == 1) echo 'Dodanie rekordów wykonane poprawnie.<br>';
  104. else echo 'Błąd przy dodawaniu rekordów do bazy danych.<br>';
  105.  
  106.  
  107. }
  108. else echo 'Nie zdefiniowałeś wszystkich potrzebnych zmiennych aby dodać rekord do bazy danych.';
  109. foreach ($_POST as $key => $value) unset($$key); //kasujemy zmienne POST aby nie wysylac zbednych danych przy odswiezaniu strony
  110. }
  111. ?>
  112. </body>
  113. </html>




2)

  1.  
  2. <?php
  3.  
  4. define('SQL_HOST', 'localhost');
  5. define('SQL_USER', 'root'); //nazwa uzytkownika bazy danych
  6.  
  7. define('SQL_PASS', ''); //haslo bazy danych
  8.  
  9. define('SQL_DB', 'przyklad'); //nazwa bazy danych
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17. //Funkcja laczaca sie z baza danych.
  18.  
  19. function connect_to_db() {
  20.  
  21. $db = mysql_connect(SQL_HOST, SQL_USER, SQL_PASS) or die ('Nie moge sie polaczyc z baza danych: ' . mysql_error());
  22.  
  23.  
  24.  
  25. mysql_select_db(SQL_DB) or die('Nie moga wybrac bazy danych wystapil blad: ' . mysql_error());
  26.  
  27.  
  28.  
  29. mysql_query("SET NAMES 'utf8'");
  30.  
  31. mysql_query('SET character_set_connection=utf8');
  32.  
  33. mysql_query('SET character_set_client=utf8');
  34.  
  35. mysql_query('SET character_set_results=utf8');
  36.  
  37. }
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45. // CLEAN - cleaning query czysci zapytania mysql zapobiega atakom SQLInjection
  46.  
  47. function clean($query) {
  48.  
  49.  
  50. $query = stripslashes($query);
  51.  
  52. }
  53.  
  54. $query = mysql_real_escape_string($query);
  55.  
  56. return $query;
  57.  
  58. }
  59.  
  60.  
  61. connect_to_db(); //laczymy sie z baza danych
  62.  
  63. ?>



i niiby wszystko ok jest a , jak patrze to do bazy danych nic nie dodaje sie
Armstrong
daj przed zapytaniem o dodanie danych echo $id; czy coś wyświetla.

i dodaj bbcode

a po za tym kod = niezła sieczka.
19Dziewczyna
o maasakra:D można dokładniej;P heh gdzie co w którym miejscu ;d dla mnie to czarna magia ;P
Armstrong
w linie 96 wpisz echo $imie;

i zobacz czy coś wyświetliło konkretniej imię wpisane w formularz
19Dziewczyna
nic nie pojawiło się
Armstrong
a wpisz:
echo $_POST['imie'];
19Dziewczyna
też nic
Armstrong
wpisz zamiast tego print_r($_POST);
19Dziewczyna
również nic
Armstrong
to wpisz w linijce: 82
19Dziewczyna
wyskoczyło mi takie coś Array ( )
ale to na pierwszej stronie tam gdzie wpisuje dane tych pracowników ktorych chcę dodać , jak klikam dodam do dalej nic
Armstrong
  1. <?php
  2. $link = mysql_connect('localhost', 'user', 'hasło');
  3. if (!$link) {
  4. die('Could not connect: ' . mysql_error());
  5. }
  6. mysql_select_db('pracownicy') or die('Nie moga wybrac bazy danych wystapil blad: ' . mysql_error());
  7. ?>
  8. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  9. <html xml:lang="en" lang="en" xmlns="http://www.w3.org/1999/xhtml">
  10. <head>
  11. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  12. <title>Skrypt dodajacy pracowników do bazy danych</title>
  13. </head>
  14. <body>
  15.  
  16. <form method="post" action="test.php">
  17. Id pracownika: <input type="text" name="id" maxlength="11" /> <br />
  18. Imię: <input type="text" name="imie" maxlength="20" /> <br />
  19. Nazwisko: <input type="text" name="nazwisko" maxlength="15" /> <br />
  20. Etat: <input type="text" name="etat" maxlength="20" /> <br />
  21. Płaca podstawowa: <input type="text" name="placa_pod" /> <br />
  22. Płaca dodatkowa: <input type="text" name="placa_dod" /> <br />
  23. ID Szefa: <select name="szef">
  24.  
  25. $q = "SELECT ID_PRAC FROM PRACOWNICY";
  26. $r = mysql_query ($q) or die("Zapytanie: $q\n<br />Błąd MySQL: " . mysql_error());
  27. $num = mysql_num_rows($r);
  28.  
  29. while ($row = mysql_fetch_array($r)) echo '<option>'. $row['ID_PRAC'] .'</option>';
  30.  
  31. </select>
  32.  
  33. Zespół: <select name="zespol" >
  34.  
  35. <?php
  36. $q = "SELECT NAZWA FROM ZESPOLY";
  37. $r = mysql_query ($q) or die("Zapytanie: $q\n<br />Błąd MySQL: " . mysql_error());
  38. //$num = mysql_num_rows($r);
  39.  
  40. while($row = mysql_fetch_array($r)) echo '<option value="'.$row['NAZWA'].'">'. $row['NAZWA'] .'</option>';
  41.  
  42. ?>
  43. </select>
  44. <input type="submit" name="Dodaj" value="Dodaj">
  45. </form>
  46. <?php extract($_POST);
  47.  
  48. $q = "SELECT ID_ZESP FROM ZESPOLY WHERE NAZWA='$zespol'";
  49. $r = mysql_query ($q) or die("Zapytanie: $q\n<br />Błąd MySQL: " . mysql_error());
  50. $row = mysql_fetch_array($r);
  51. $id_zesp = $row['ID_ZESP'];
  52.  
  53. $q = "INSERT INTO PRACOWNICY (ID_PRAC, NAZWISKO, IMIE, ETAT, ID_SZEFA, ZATRUDNIONY, PLACA_POD, PLACA_DOD, ID_ZESP )
  54. VALUES ('$id', '$nazwisko', '$imie', '$etat', '$szef', NOW(), '$placa_pod', '$placa_dod', '$id_zesp')";
  55.  
  56. $r = mysql_query($q) or die("Zapytanie: $q\n<br />Błąd MySQL: " . mysql_error());
  57.  
  58. if(mysql_affected_rows() == 1) echo 'Dodanie rekordów wykonane poprawnie.<br>';
  59. else echo 'Błąd przy dodawaniu rekordów do bazy danych.<br>';
  60.  
  61.  
  62. else echo 'Nie zdefiniowałeś wszystkich potrzebnych zmiennych aby dodać rekord do bazy danych.';
  63.  
  64. ?>


nazwij plik test.php zmień hasło w tym pliku oraz nazwę bazy danych.

i sprawdź czy działa.

(Kod brutalny godzina 22.16)
19Dziewczyna
teraz takie cos wyskoczyło :
Parse error: syntax error, unexpected T_ELSE in D:\programy\xxamp\xamp\xampplite\htdocs\test.php on line 119

Czemu mam zmienić nazwę bazy danych ? hmm

i po co hasło
Armstrong
w tym kodzie:
  1. $link = mysql_connect('localhost', 'user', 'hasło');
  2. if (!$link) {
  3. die('Could not connect: ' . mysql_error());
  4. }
  5. mysql_select_db('pracownicy') or die('Nie moga wybrac bazy danych wystapil blad: ' . mysql_error());


user hasło i pracownicy na to jakie być powinno.



Wywal linie 62.
19Dziewczyna
Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'user'@'localhost' (using password: YES) in D:\programy\xxamp\xamp\xampplite\htdocs\test.php on line 4
Could not connect: Access denied for user 'user'@'localhost' (using password: YES)
Armstrong
mysql_connect('localhost', 'root', '');

wstaw dane do połączenia z bazą.
19Dziewczyna
Moja 4 linijkato było to :
$link = mysql_connect('localhost', 'user', 'password'); wiec wprowadzilam tak :
$link = mysql_connect('localhost', 'root', '');

i wyskoczylo mi teraz takie cos po dodaniu :
Nie moga wybrac bazy danych wystapil blad: Unknown database 'pracownicy'
Armstrong
baza danych 'pracownicy' nie istnieje. stworzyć lub ma inną nazwę to także popraw.
wookieb
Czy długo będzie jeszcze raz tworzyć wątek w stylu "pobawmy się w 1000 krotne odpowiedzi na posty z serii 'ojej mam błąd, nie kumam angielskiego i w ogóle nic nie rozumiem i jestem nowy/a zielony/a pomóżcie'" czy w końcu autor pójdzie po rozum do głowy?
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.