Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mysql - PHP] przechwytywanie i obsluga bledow
Forum PHP.pl > Forum > PHP
Vocatio
Czesc
poszukuje jakichs informacji na temat przechwytywania i obslugi bledow MYSQL przez php
np. nie chcialbym zeby wyskoczyl mi na stronie błąd:
Kod
Wystapił bład

["INSERT INTO `(..[ciach] .... ) VALUES (... [ciach]... );"]

[Duplicate entry 'TEST' for key 2]


tylko chcialbym go przechwycic i wyrzucic swoj komunkat:
np

Wartosc "TEST" istnieje - nie mozna powtorzyc

pozdrawiam

Wojtek B
hwao
Masz unikalne pole a chcesz wporowadzic 2 raz taka zama dane zmien skrutkore tabeli
party
[manual:791ecbbfc0]mysql_error[/manual:791ecbbfc0]();
[manual:791ecbbfc0]mysql_errno[/manual:791ecbbfc0]();
Liko
Wstawiaj @ i zpoznaj sie z funkcją mysql error i z funkcja: mysql errno
Wtedy według numeru błedu wyświetlasz swój komunikat


Cytat
Masz unikalne pole a chcesz wporowadzic 2 raz taka zama dane zmien skrutkore tabeli


Nie o to mu chodziło. Chce zrobić error_handlera do mySQL'a
Vocatio
Cytat
Wstawiaj @ i zpoznaj sie z funkcją mysql error i z funkcja: mysql errno
Wtedy według numeru błedu wyświetlasz swój komunikat


Cytat

Masz unikalne pole a chcesz wporowadzic 2 raz taka zama dane zmien skrutkore tabeli


Nie o to mu chodziło. Chce zrobić error_handlera do mySQL'a


Jest ok ale tylko czesciowo bo lapie blad i wrzucam swoj komunikat. Jednak nie udalo mi sie wykluczyc i wyswietlenia bledu z bazy ktory wyswietla sie aktualnie przed moim komunikatem.
Zrobilem to tak:
[php:1:0a4148811d]<?php
$query="INSERT INTO `Tabela` (`kolumna1`,`kolumna2`) VALUES ('TEST', 'TEST2');";
if (mysql_errno()==1062) echo' Wartosc "TEST" istnieje - nie mozna powtorzyc';
?>[/php:1:0a4148811d]

W celu wykluczenia komunikaty wysylanego z bazy probowalem uzyc:

[php:1:0a4148811d]<?php
$result = mysql_query($query) or die()
?>[/php:1:0a4148811d]

ale z tego co zauwazylem to w die() moge tylko wyswietlic komunikat, a ja mimo wszystko wolalbym najpierw sprawdzic czy jest to faktycznie "wymuszony" przeze mnie bład i dac swoj komunikat, a w przypadku gdy blad jest innego gatunku wyslac inny komunikat.
Czy moglbym prosic o jeszcze dodatkowa podpowiedz?
Wojtek B
PS. Czy to "wstawiaj @" bylo do mnie? bo nie rozumiem czego dotyczy
cboot
Cytat
PS. Czy to "wstawiaj @" bylo do mnie? bo nie rozumiem czego dotyczy

Tak... @ spowoduje nie wyświetalnie sie tego komunikatu błędu, który właśnie próbujesz usunąć.
[php:1:b5a7d71897]<?php
@mysql_query( $query );
?>[/php:1:b5a7d71897]
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.