|
| Error trapping ved INSERT i Mysql Fra : Nederbasse |
Dato : 11-05-04 08:55 |
|
Hejsa
kan man ikke få nogle bedre fejlmeddelser når der er fejl ved insert i Mysql
istedet for
****** or die ("Der er en fejl");
Når jeg henter data bruger jeg denne linie
if(!$result) die("MySQL-fejl: ".mysql_error() ); som giver en mere specifik
fejlmeddelse
Kan man lave noget tilsvarende med en insert ?
Lars
| |
Johan Holst Nielsen (12-05-2004)
| Kommentar Fra : Johan Holst Nielsen |
Dato : 12-05-04 11:30 |
|
Nederbasse wrote:
> Hejsa
>
> kan man ikke få nogle bedre fejlmeddelser når der er fejl ved insert i Mysql
> istedet for
> ****** or die ("Der er en fejl");
>
> Når jeg henter data bruger jeg denne linie
> if(!$result) die("MySQL-fejl: ".mysql_error() ); som giver en mere specifik
> fejlmeddelse
> Kan man lave noget tilsvarende med en insert ?
Well - ved inserts ville jeg
$sql = "INSERT INTO foo VALUES ('bar')";
$res = mysql_query($sql);
if(mysql_affected_rows($result)<1) {
die("MYSQL-fejl: ".mysql_error());
}
mvh
Johan
| |
Kim Emax (12-05-2004)
| Kommentar Fra : Kim Emax |
Dato : 12-05-04 18:20 |
|
In the news:40a1fced$0$500$edfadb0f@dread14.news.tele.dk,
Johan Holst Nielsen <johan@weknowthewayout.com> wrote:
> Well - ved inserts ville jeg
>
> $sql = "INSERT INTO foo VALUES ('bar')";
> $res = mysql_query($sql);
> if(mysql_affected_rows($result)<1) {
> die("MYSQL-fejl: ".mysql_error());
> }
hvorfor ikke bare:
mysql_query("insert...") or die(print mysql_error());
?
--
Take Care
Kim Emax - master|minds - Vi tænker IT for dig...
http://www.masterminds.dk - http://www.emax.dk
| |
Nederbasse (12-05-2004)
| Kommentar Fra : Nederbasse |
Dato : 12-05-04 20:24 |
|
"Kim Emax" <newsgroup@remove-emax.dk> skrev i en meddelelse
news:L0toc.163544$jf4.8387702@news000.worldonline.dk...
> In the news:40a1fced$0$500$edfadb0f@dread14.news.tele.dk,
> Johan Holst Nielsen <johan@weknowthewayout.com> wrote:
>
> > Well - ved inserts ville jeg
> >
> > $sql = "INSERT INTO foo VALUES ('bar')";
> > $res = mysql_query($sql);
> > if(mysql_affected_rows($result)<1) {
> > die("MYSQL-fejl: ".mysql_error());
> > }
>
> hvorfor ikke bare:
>
> mysql_query("insert...") or die(print mysql_error());
>
> ?
>
> --
> Take Care
> Kim Emax - master|minds - Vi tænker IT for dig...
> http://www.masterminds.dk - http://www.emax.dk
>
>
Skriver bare print mysql_error()
jeg er helt ny udi php så jeg har virkelig brug for nogle fejl meddelser der
siger noget
Lars
| |
Kim Emax (12-05-2004)
| Kommentar Fra : Kim Emax |
Dato : 12-05-04 21:25 |
|
In the news:c7ttkc$1tcu$1@news.cybercity.dk,
Nederbasse <laneNOSPAM@jubiipost.dk> wrote:
> Skriver bare print mysql_error()
Ikke forstået?
> jeg er helt ny udi php så jeg har virkelig brug for nogle fejl
> meddelser der siger noget
Det gør mysql_error() også... om du så forstår dem, er noget helt andet
Denne:
mysql_query("insert...") or die(print mysql_error());
Betyder at enten så går din SQL statement godt eller mysql fejlen printes...
--
Take Care
Kim Emax - master|minds - Vi tænker IT for dig...
http://www.masterminds.dk - http://www.emax.dk
| |
Kristian Thy (12-05-2004)
| Kommentar Fra : Kristian Thy |
Dato : 12-05-04 22:23 |
|
Kim Emax uttered:
> Denne:
> mysql_query("insert...") or die(print mysql_error());
> Betyder at enten så går din SQL statement godt eller mysql fejlen printes...
Båååååååt!!!
die() tager en string som argument. print() tager en string som
argument, skriver den på skærmen og returnerer void. Dvs. at du
skriver "print mysql_error()" ud på skærmen og kalder die(<void>).
Prøv i stedet med ...or die(mysql_error())
:)
\\kristian
--
Real programmers don't comment their code.
It was hard to write, it should be hard to read.
| |
Kim Emax (12-05-2004)
| Kommentar Fra : Kim Emax |
Dato : 12-05-04 22:40 |
|
In the news:2gfiu0F2eah9U1@uni-berlin.de,
Kristian Thy <thy@it.edu> wrote:
> die() tager en string som argument. print() tager en string som
> argument, skriver den på skærmen og returnerer void. Dvs. at du
> skriver "print mysql_error()" ud på skærmen og kalder die(<void>).
hmm... plejer godt nok at lave en:
or die(print "der skete en fejl:" . mysql_error());
har ikke testet det andet, men det har du så?
--
Take Care
Kim Emax - master|minds - Vi tænker IT for dig...
http://www.masterminds.dk - http://www.emax.dk
| |
Peter Brodersen (12-05-2004)
| Kommentar Fra : Peter Brodersen |
Dato : 12-05-04 22:47 |
|
On 12 May 2004 21:23:12 GMT, Kristian Thy <thy@it.edu> wrote:
>die() tager en string som argument. print() tager en string som
>argument, skriver den på skærmen og returnerer void. Dvs. at du
>skriver "print mysql_error()" ud på skærmen og kalder die(<void>).
Nej, det er ikke helt det, der sker. Die modtager returværdien for
print (der returnerer (int) 1 - og i øvrigt er en language construct).
Da der returneres en integer, så er dette exit status
Man kan også lave die(strtolower("HEJ")) - uden at man skriver
'strtolower("HEJ")' som output.
Det er dog rigtigt, at die(print mysql_error()) i høj grad er noget
forvirring, rod og dobbeltkonfekt, og det burde rettes. Men
print mysql_error()
er nu ikke en string. Det er
"print mysql_error()"
derimod.
--
- Peter Brodersen
| |
Kristian Thy (12-05-2004)
| Kommentar Fra : Kristian Thy |
Dato : 12-05-04 23:04 |
|
Peter Brodersen uttered:
> On 12 May 2004 21:23:12 GMT, Kristian Thy <thy@it.edu> wrote:
>
>>die() tager en string som argument. print() tager en string som
>>argument, skriver den på skærmen og returnerer void. Dvs. at du
>>skriver "print mysql_error()" ud på skærmen og kalder die(<void>).
>
> Nej, det er ikke helt det, der sker. Die modtager returværdien for
> print (der returnerer (int) 1 - og i øvrigt er en language construct).
Min fejl, print returnerer ganske rigtigt en int.
> Man kan også lave die(strtolower("HEJ")) - uden at man skriver
> 'strtolower("HEJ")' som output.
Ja, fordi strtolower ikke returnerer en int.
> Det er dog rigtigt, at die(print mysql_error()) i høj grad er noget
> forvirring, rod og dobbeltkonfekt, og det burde rettes. Men
> print mysql_error()
> er nu ikke en string. Det er
> "print mysql_error()"
> derimod.
Ja, OP må have kommet til at sætte "" om det hvis det skal give nogen
mening...
\\kristian
--
Failure is not an option. It comes bundled with your Microsoft products.
| |
Nederbasse (12-05-2004)
| Kommentar Fra : Nederbasse |
Dato : 12-05-04 20:10 |
|
SNIP
>
> Well - ved inserts ville jeg
>
> $sql = "INSERT INTO foo VALUES ('bar')";
> $res = mysql_query($sql);
> if(mysql_affected_rows($result)<1) {
> die("MYSQL-fejl: ".mysql_error());
> }
>
> mvh
> Johan
>
Den giver heller ingen fejl og der kommer ikke noget idatabasen
Lars
| |
|
|