Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql]Brak błędów - kod do poprawy
Forum PHP.pl > Forum > Przedszkole
-seniu123-
Witam,

nie wiem dlaczego nie wyskakują mi żadne błędy a przedtem wyskakiwały (PHP5) - skrypt nie dodaje do bazy rekordów :/

z góry dzięki smile.gif

  1. <?php
  2. // podłączamy plik connection.php
  3. require "connection.php";
  4. // wywołujemy funkcję connection()
  5. connection();
  6.  
  7. // odbieramy dane z formularza
  8. $nazwa = trim($_POST['nazwa']);
  9. $typ = trim($_POST['typ']); 
  10. $numer = trim($_POST['numer']);
  11. $obrazek = trim($_POST['obrazek']);
  12.  
  13. if ($typ != "" and $obrazek != ""){
  14. $typ1 = "Typ: $typ";
  15. $obrazek1 = "<img src=\"upload/$obrazek\" width=\"\" height=\"\" border=\"0\" align=\"left\" style=\"margin-right:18px\">";
  16. } else {
  17. $typ = "";
  18. $obrazek = "";
  19. }
  20.  
  21. // dodajemy rekord do bazy
  22. $ins = @mysql_query("INSERT INTO skrzynki SET nazwa='$nazwa', typ='$typ1', numer='$numer', obrazek='$obrazek1'");
  23.  
  24. if($ins) { echo "Rekord został dodany poprawnie<br />";
  25. } else { echo "Błąd: Nie udało się dodać nowego rekordu<br />";
  26. }
  27. echo "<a href=\"odczyt.php\">Odczyt z tabeli</a>";
  28.  
  29. ?>
isso
możliwe, że korzystasz z MYSQL w wersji 5 smile.gif

trzeba dodawać baze przed każdą tabelą tj:


  1. SELECT * FROM baza.tabela WHERE id=1
Cysiaczek
Spójrz na ten fragment:
  1. <?php
  2. ?>


Wywal @, które tłumi wyświetanie błędów i:
  1. <?php
  2. mysql_query("INSERT INTO skrzynki SET nazwa='$nazwa', typ='$typ1', numer='$numer', obrazek='$obrazek1'") or die(mysql_error());
  3. ?>


Powinien pokazać się błąd.
-seniu123-
I nadal nic nie wyświetla :/
isso
a sprawdziłeś jakiej wersji MYSQL`a używasz?
-seniu123-
Używam:

PHP 5.0.2
MySQL 3.23.58

pozdrawiam
nospor
Cytat
trzeba dodawać baze przed każdą tabelą tj:
A gdzies ty takie "mądre" rzeczy wyczytal?

Cytat
I nadal nic nie wyświetla :/
Nic? Nawet
"Rekord został dodany poprawnie"
lub
"Błąd: Nie udało się dodać nowego rekordu"
?
-seniu123-
Właśnie o to się rozchodzi że nic się nie wyświetla :/
nospor
To znaczy ze ci wogole do tego zapytania nie dochodzi. Wywolujesz wogole ten skrypt co trzeba? jesli tak to ustaw
  1. <?php
  2. ini_set('display_errors','1');
  3. ?>

by zobaczyc wszystkie ewentualne bled.
-seniu123-
Dodałem i dalej nic... błędy ogólnie wyskakują ale coś jest nie tak w środkowej części kodu...
nospor
Cytat
błędy ogólnie wyskakują ale coś jest nie tak w środkowej części kodu...
To moze ogolnie podalbys nam te bledy? Chcesz bysmy ci pomogli czy nie, bo jak masz tak dalej wspolpracowac to poprostu sobie odpusc tongue.gif

pozatym debuguj: rob echo 'dupa'; co druga linia i sprawdzaj ktora "dupa" ci nie pokarze.
-seniu123-
Jeśli chodzi o błędy to pojawił się dopiero jak usunąłem połączenie z bazą - Pisało że brak połączenia z bazą

  1. <?php
  2. // podłączamy plik connection.php
  3. require "connection.php";
  4. // wywołujemy funkcję connection()
  5. connection();
  6. ?>


a jeśli chodzi o debugowanie to pojawiły się tylko grzyb i grzyb 2

  1. <?php
  2. ini_set('display_errors','1');
  3. echo "grzyb";
  4. ?>
  5. <?php
  6. echo "grzyb2";
  7. // podłączamy plik connection.php
  8. require "connection.php";
  9. // wywołujemy funkcję connection()
  10. connection();
  11. echo "grzyb3";
  12. // odbieramy dane z formularza
  13. $nazwa = trim($_POST['nazwa']);
  14. $typ = trim($_POST['typ']); 
  15. $numer = trim($_POST['numer']);
  16. $obrazek = trim($_POST['obrazek']);
  17.  
  18. if ($typ != "" and $obrazek != ""){
  19. $typ1 = "Typ: $typ";
  20. $obrazek1 = "<img src=\"upload/$obrazek\" width=\"\" height=\"\" border=\"0\" align=\"left\" style=\"margin-right:18px\">";
  21. } else {
  22. $typ = "";
  23. $obrazek = "";
  24. }
  25. echo "grzyb4";
  26. // dodajemy rekord do bazy
  27. $ins = mysql_query("INSERT INTO skrzynki SET nazwa='$nazwa', typ='$typ1', numer='$numer', obrazek='$obrazek1'") or die(mysql_error());
  28.  
  29. if($ins) { echo "Rekord został dodany poprawnie<br />";
  30. } else { echo "Błąd: Nie udało się dodać nowego rekordu<br />";
  31. }
  32. echo "<a href=\"odczyt.php\">Odczyt z tabeli</a>";
  33. echo "grzyb5";
  34. ?>
nospor
oj, to wywal funkcje connection(). pojawil sie grzyb3? Tak? To juz wiesz gdzie problem, pokaz wiec connection().
Nie? To wywal require. POjawil sie grzyb3? Tak,znaczy ze nie znalazl ci pliku ktory includujesz. Ale to chyba nie mozliwe bo by ci wywalil error na ekran ktorym bys sie zapewne podzielil.

pozostaje wiec connection() ktore ma pewnie jakiegos exita lub cos w tym stylu.
hiszpanespaniol
aa może coś jest źle z tymi cudzysłowami ? nie powinny się tu pojawić też apostrofy? albo brak tych wewnętrznych cudzysłowi ?

  1. <?php
  2. echo "<a href=\"odczyt.php\">Odczyt z tabeli</a>";
  3. ?>
Crozin
@hiszpanespaniol - miejsce błędu zostało już odnalezione - teraz pozostaje tylko dobra wola autora i pokazanie nam co jest w connection.php winksmiley.jpg A tamten fragment jest akurat poprawny.

@nospor - w ogóle (takie moje małe zboczenie na punkcie tego wyrazu tongue.gif)
-seniu123-
miałem małe kłopoty z internetem i dlatego nie odpowiadałem...

a co do skryptu to dalej nie pokazuje "grzyb3", ale gdy usunąłem poniższy kod
  1. <?php
  2. require "connection.php";
  3. // wywołujemy funkcję connection()
  4. connection();
  5. ?>


pojawiły się wszystkie grzyby

Cytat
grzybgrzyb2grzyb3grzyb4
Notice: Undefined variable: typ1 in c:\usr\krasnal\www\2\dwa.php on line 26

Notice: Undefined variable: obrazek1 in c:\usr\krasnal\www\2\dwa.php on line 26
Nie wybrano żadnej bazy danych



a co do pliku connection.php tutaj macie kod

  1. <?php
  2.  
  3. // serwer
  4. $mysql_server = "localhost";
  5. // admin
  6. $mysql_admin = "root";
  7. // hasło
  8. $mysql_pass = "krasnal";
  9. // nazwa baza
  10. $mysql_db = "kategorie";
  11. // nawiązujemy połączenie z serwerem MySQL
  12. $polaczenie = @new mysql($mysql_server, $mysql_admin, $mysql_pass, $mysql_db);
  13. if (mysql_connect_errno() != 0){
  14. echo '<p>Wystąpił błąd połączenia: ' . mysql_connect_error() . '</p>';
  15. }
  16.  
  17. ?>
PawelC
plik connection.php zrób taki:
  1. <?php 
  2. mysql_connect('localhost','root','krasnal');
  3. mysql_select_db('kategorie') or die(mysql_error());
  4. ?>

i zobacz co Ci wyświetli.
seniu123
Dzięki ExPlOiT!

Teraz skrypt dodaje rekordy do bazy, tylko zmieniłem 2 rzeczy

zamieniłem to:
  1. <?php
  2. require "connection.php";
  3. // wywołujemy funkcję connection()
  4. connection();
  5. ?>


na to:
  1. <?php
  2. include("connection.php");
  3. ?>


oraz zmieniłem plik connection.php na taki jaki mówił ExPlOiT:

  1. <?php 
  2. mysql_connect('localhost','root','krasnal');
  3. mysql_select_db('kategorie') or die(mysql_error());
  4. ?>


i jak narazie śmiga smile.gif Wielkie dzięki wszystkim za pomoc smile.gif jak będę miał jeszcze jakieś problemy to będę pisał

Pozdrawiam
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.