Toon posts:

[PHP] MySQL db routine geeft error

Pagina: 1
Acties:

Verwijderd

Topicstarter
PHP:
1
2
3
4
5
6
7
<?
$sql = "SELECT * FROM galleryphoto WHERE galleryid='" . $galleryID . "' and photo='" . $filedb[file][$i] . "'";
echo $sql . "<br>";
$result = mysql_query($sql) or die(mysql_error());
echo $result . "result";
$items = mysql_fetch_assoc($result) or die("SJIT");
?>

Ik dit te zien maar waarom? [met nadruk op SJIT]
code:
1
2
SELECT * FROM galleryphoto WHERE galleryid='1' and photo='adglam05.jpg'
Resource id #132resultSJIT

-edit topic naam vergeten edit-

moet zijn --> MySQL db routine geeft error (ofzo).

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

titel fixed :)

Doet iets met Cloud (MS/IBM)


Verwijderd

Topicstarter
Op zaterdag 26 januari 2002 15:55 schreef D2k het volgende:
titel fixed :)
:) U rule :) en nu nog de oplossing *D

  • vinnux
  • Registratie: Maart 2001
  • Niet online
Je resultset bevat geen rows ?
Kijk ook eens naar : http://www.php.net/manual/en/function.mysql-fetch-assoc.php

Verwijderd

Topicstarter
Op zaterdag 26 januari 2002 15:56 schreef vgouw het volgende:
Je resultset bevat geen rows ?
Kijk ook eens naar : http://www.php.net/manual/en/function.mysql-fetch-assoc.php
Ik snap het niet, ik heb nu dit en dat werkt ook niet :{
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
<?
$sql = "SELECT * FROM galleryphoto WHERE galleryid='" . $galleryID . "' and photo='" . $filedb[file][$i] . "'";
echo $sql . "<br>";
$result = mysql_query($sql) or die(mysql_error());
echo $result . "result";
if ($result != 0) {                     //  * ja? (bestaat?)

$tmp = mysql_fetch_assoc($result) or die(mysql_error());     // ---> lees id van gevonden galleryid
$photoID = $tmp["id"];                // ---> zorg dat de ID van deze DB opgeslagen wordt in $galleryID
$photoGallery = $tmp["galleryid"];
$photo = $tmp["photo"];                  // ---> zorg dat de path van deze DB opgeslagen wordt in $galleryPath
$photoSize = $tmp["photoSize"];
?>

result wordt nu gezien als Resource id #132 + de tekst result die je in de source ziet, alleen het vage is dat ik geen ID #132 in me db heb?...

HELP! :) tnx.

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

or die("SJIT");
vervang die eens door mysql_error() in je eerste code ajb

Doet iets met Cloud (MS/IBM)


Verwijderd

Topicstarter
Op zaterdag 26 januari 2002 16:10 schreef D2k het volgende:
or die("SJIT");
vervang die eens door mysql_error() in je eerste code ajb
dat stukje is al weg, was volgens mij niet nuttig voor de code, anders kijk ff naar de source op http://217.120.130.165/Php/gallery/1/scantree1.phps

:)

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

$tmp = mysql_fetch_assoc($result) or die(mysql_error());
ajb :)
als ie daar fout gasat iig (regel 57)

Doet iets met Cloud (MS/IBM)


Verwijderd

Topicstarter
Op zaterdag 26 januari 2002 16:15 schreef D2k het volgende:
$tmp = mysql_fetch_assoc($result) or die(mysql_error());
ajb :)
als ie daar fout gasat iig (regel 57)
daar niet nee, bij regel 81-90 gaat het fout :{ maar heb dat er alvast bij gezet :)

  • Orphix
  • Registratie: Februari 2000
  • Niet online
Je begrijpt mysql_fetch_assoc() verkeerd. De 'resource id' van een query is iets zodat php kan bij houden naar welke query je refereert. Dit is ook een getal >0 wanneer er geen results terugkomen. Wat jij nu dus doet is het script afkappen wanneer er geen resultaten van je query worden teruggegeven. Dit is denk ik niet wat je wil.

dus je doet
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
<?
...
 //  * hoe kan ik checken of een 'bestand' bestaat in 'galleryfoto'?
        $sql = "SELECT * FROM galleryphoto WHERE galleryid='" . $galleryID . "' and photo='" . $filedb[file][$i] . "'";
        echo $sql . "<br>";
        $result = mysql_query($sql) or die(mysql_error());
        echo $result . "result";
        if ($tmp = mysql_fetch_assoc($result)) {                     //  * ja? (bestaat?)

            $tmp = mysql_fetch_assoc($result) or die(mysql_error());     // ---> lees id van
...
?>

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 12-09 21:31

Janoz

Moderator Devschuur®

!litemod

Hij geeft gewoon een lege resultset terug. Je krijgt niks uit je DB.. Die resource ID is heeft niks met gegevens in de db te maken, amar is het nummertje van die query die uitgevoerd is. Hiermee kan mysql-fetch-* vinden welke resultset hij nu moet fetchen. Het or die achter een mysql_fetch zetten heeft eigenlijk niet veel zin (Tenzij je wilt die-en als er geen result zijn).

De opmerking van d2k heeft IMHO ook niet zo heel veel nut. Als er een error was geweest was ie al 'ge-die-t' bij het uitvoeren van de query.

Zet ergens eens voor de gijn een mysql_num_rows neer en zie dat daar mooi 0 uit komt.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Verwijderd

Topicstarter
Op zaterdag 26 januari 2002 16:20 schreef Orphix het volgende:
Je begrijpt mysql_fetch_assoc() verkeerd. De 'resource id' van een query is iets zodat php kan bij houden naar welke query je refereert. Dit is ook een getal >0 wanneer er geen results terugkomen. Wat jij nu dus doet is het script afkappen wanneer er geen resultaten van je query worden teruggegeven. Dit is denk ik niet wat je wil.

dus je doet
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
<?
...
 //  * hoe kan ik checken of een 'bestand' bestaat in 'galleryfoto'?
        $sql = "SELECT * FROM galleryphoto WHERE galleryid='" . $galleryID . "' and photo='" . $filedb[file][$i] . "'";
        echo $sql . "<br>";
        $result = mysql_query($sql) or die(mysql_error());
        echo $result . "result";
        if ($tmp = mysql_fetch_assoc($result)) {                     //  * ja? (bestaat?)

            $tmp = mysql_fetch_assoc($result) or die(mysql_error());     // ---> lees id van
...
?>
k.

Ik heb het getest maar krijg geen error op dit stukje code
PHP:
1
2
3
<?
            $tmp = mysql_fetch_assoc($result) or die(mysql_error());     // ---> lees id van gevonden galleryid
?>

want met een echo er voor zie ik de echo maar een echo er na zie ik nix :{

  • vinnux
  • Registratie: Maart 2001
  • Niet online
Het volgende gaat fout.
Af en toe heb je queries die als resultaat 0, geen rijen opleveren. Als je daarvan toch mysql_fetch_ doet retouneerd ie false en gaat ie naar het or die stuk.

Verwijderd

Topicstarter
Op zaterdag 26 januari 2002 16:23 schreef Janoz het volgende:
Hij geeft gewoon een lege resultset terug. Je krijgt niks uit je DB.. Die resource ID is heeft niks met gegevens in de db te maken, amar is het nummertje van die query die uitgevoerd is. Hiermee kan mysql-fetch-* vinden welke resultset hij nu moet fetchen. Het or die achter een mysql_fetch zetten heeft eigenlijk niet veel zin (Tenzij je wilt die-en als er geen result zijn).

De opmerking van d2k heeft IMHO ook niet zo heel veel nut. Als er een error was geweest was ie al 'ge-die-t' bij het uitvoeren van de query.

Zet ergens eens voor de gijn een mysql_num_rows neer en zie dat daar mooi 0 uit komt.
dus
PHP:
1
2
3
<?
        if ($tmp = mysql_num_rows($result)) {
?>

:?

Verwijderd

Topicstarter
Op zaterdag 26 januari 2002 16:24 schreef vgouw het volgende:
Het volgende gaat fout.
Af en toe heb je queries die als resultaat 0, geen rijen opleveren. Als je daarvan toch mysql_fetch_ doet retouneerd ie false en gaat ie naar het or die stuk.
dus de if zou moeten werken... mja tis niet simpel :)

  • Orphix
  • Registratie: Februari 2000
  • Niet online
Op zaterdag 26 januari 2002 16:23 schreef Xtentic het volgende:

[..]

k.

Ik heb het getest maar krijg geen error op dit stukje code
PHP:
1
2
3
<?
            $tmp = mysql_fetch_assoc($result) or die(mysql_error());     // ---> lees id van gevonden galleryid
?>

want met een echo er voor zie ik de echo maar een echo er na zie ik nix :{
Ja stom, ik heb alleen de if constructie aangepast. Verder heb ik je code overgenomen zonder ernaar te kijken |:(

Maarja dit '$tmp = mysql_fetch_assoc($result) or die(mysql_error());' mag er dus wel uit (dat doe je in die if constructie)

Verwijderd

Topicstarter
Tnx dat werkt idd :)

nu krijg ik een probleem met de
PHP:
1
2
3
<?
        mysql_free_result($result);
?>

Why? :D zou moeten werken (regel 114)

Verwijderd

Topicstarter
check anders nu ff die pagina weer, dan zie je dat ik een error op 108 krijg (is nu 114-6) regels :P maar ook dat er maar 3 gallery's worden gelezen ipv 8 stuks :{ vaag :)

http://217.120.130.165/Php/gallery/1/scantree1.php
http://217.120.130.165/Php/gallery/1/scantree1.phps

Verwijderd

Topicstarter
iemand? help

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

Op zaterdag 26 januari 2002 18:49 schreef Xtentic het volgende:
iemand? help
niet kicken zo snel dat weet jij ook. kijk uit :)


Maar jij zegt dat je er maar 3 ziet en er 8 moet zien?
staan er echt wel 8 in je db?

Doet iets met Cloud (MS/IBM)


Verwijderd

Topicstarter
Op zaterdag 26 januari 2002 18:52 schreef D2k het volgende:

[..]

niet kicken zo snel dat weet jij ook. kijk uit :)


Maar jij zegt dat je er maar 3 ziet en er 8 moet zien?
staan er echt wel 8 in je db?
nee er staan 2 in de db, maar die galleryid's worden ook aangemaakt door dit scriptje :{ het werkt gewoon weer eens niet :( en dat vind ik balen :)
Pagina: 1