PHP/MySQL: Ik doe iets dom, maar wat

Pagina: 1
Acties:

  • RubZie
  • Registratie: Juli 1999
  • Laatst online: 27-08 10:23
Begin beetje te spelen met php en sql enzo maar gaat nie echt soepel :D
Tis heel simpel, maar ik snap het niet :)
dit:
PHP:
1
2
3
4
5
6
7
8
<?
mysql_select_db('divx') ;
    $divxcon = mysql_connect('localhost') or die ("MySQL-connectie is stuk man!");
    $haaldivx = mysql_query ("SELECT * FROM divx WHERE ID=$ID");
    $haalrij = mysql_fetch_array ($haaldivx); #LINE 7
       mysql_free_result ($haaldivx); #LINE 8
       mysql_close($divxcon);
?>

geeft dit:
Warning: Supplied argument is not a valid MySQL result resource in e:\webserver\apache\htdocs\divx\divx_edit.php on line 7 (en datzelfde voor line 8)


Het is ongetwijfeld dome enzo maar ik snappem nie. De query klopt iig, als ik die direct in mysql gooi pakt ie de shit wel.
http://127.0.0.1/divx/divx_edit.php?ID=422 das de url maar hij pakt die ID niet om de een of andere reden
Tnx voor de oplossing en sorry voor de vraag :o

Usarchy: nieuws over usability en online marketing


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

D2k

$haaldivx = mysql_query ("SELECT * FROM divx WHERE ID=$ID") or die(mysql_error());

phpinfo()

Doet iets met Cloud (MS/IBM)


  • marcusk
  • Registratie: Februari 2001
  • Laatst online: 26-09-2023
mysql_select_db gebruiken voor mysql_connect is niet echt logisch :)

  • RubZie
  • Registratie: Juli 1999
  • Laatst online: 27-08 10:23
KUCH proest....
Kan iemand me effe wakkermaken ofzo, het werkt offcourse nu gewoon :|
Tnx voor de 'or die' debuggie tip, dan hoef ik minder domme vragen te stellen :)

Usarchy: nieuws over usability en online marketing


Verwijderd

zo zou k het doen:
PHP:
1
2
3
4
5
6
7
8
9
<?
    $divxcon = mysql_connect('localhost', username, userpass) or die ("MySQL-connectie is stuk man!");
    mysql_select_db('divx');

    $haaldivx = mysql_query ("SELECT * FROM divx WHERE ID=\"$ID\"");
    $haalrij = mysql_fetch_array ($haaldivx); #LINE 7
    mysql_free_result ($haaldivx); #LINE 8
    mysql_close($divxcon);
?>

en mysql_close hoeft niet per se, ik doe het altijd zonder, en nog nooit problems mee gehad :)
en wat zie jij als nut van mysql_free_result($haaldivx)??

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

D2k

Op donderdag 14 februari 2002 17:46 schreef RubZie het volgende:
KUCH proest....
Kan iemand me effe wakkermaken ofzo, het werkt offcourse nu gewoon :|
<h1>WAKKER WORDEN</h1>
;)
Tnx voor de 'or die' debuggie tip, dan hoef ik minder domme vragen te stellen :)
das de manier idd :)

Doet iets met Cloud (MS/IBM)


Verwijderd

Een databaseconnectie moet je eigenlijk wel sluiten, want anders kan de (bekende f2s) fout 'too many connections' optreden.

Verwijderd

Op donderdag 14 februari 2002 17:39 schreef RubZie het volgende:

http://127.0.0.1/divx/divx_edit.php?ID=422 das de url
404??? :? Hoe kan dat nou 8-) :z ;)

Verwijderd

Op vrijdag 15 februari 2002 13:11 schreef sKiLL4 het volgende:
Een databaseconnectie moet je eigenlijk wel sluiten, want anders kan de (bekende f2s) fout 'too many connections' optreden.
mysql connectie wordt aan het eind van een script automatisch gesloten... toch? correct me if i'm wrong, dat is nl. ook belangrijk voor beveiligingsaspecten...

Verwijderd

Een connect worden automagisch geclosed als het script klaar is.
Een pconnect wordt geclosed zodra de apache child stopt waarin de pconnect is gedaan.

Pconnects leveren wat performance winst op omdat er niet zo vaak een connectie opgezet hoeft te worden. Het kan echter ook hoop problemen veroorzaken als je een site hebt die erg druk bezocht wordt (lees: als je een hele hoop apache childs hebt draaien) en helemaal als daar dan ook nog naar verschillende mysql servers geconnect wordt.

Connects (en pconnects) zijn trouwens wel slim genoeg om te zien dat er al een connectie is.
Indien je dus meerdere (p)connects gebruikt zal hij bij de 2e (p)connect i.p.v. het daadwerkelijk opzetten van de connectie, alleen de resource identifier teruggeven.

Hij zal in het geval van pconnects, nooit meer dan 1 connectie opzetten per child per mysql server.

In het geval van connects hetzelfde maar dan per script per mysql server.

Ik kan me geen situatie's bedenken waar je de connecties ook daadwerkelijk moet closen.

<edit: duidelijker omschreven>

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Op zaterdag 16 februari 2002 02:53 schreef MarcoTC het volgende:
Pconnects leveren wat performance winst op omdat er niet zo vaak een connectie opgezet hoeft te worden. Het kan echter ook hoop problemen veroorzaken als je een site hebt die erg druk bezocht wordt (lees: als je een hele hoop apache childs hebt draaien) en helemaal als daar dan ook nog naar verschillende mysql servers geconnect wordt.
Even een aanvullinkje.

Pconnects leveren ontzettend veel performance winst op als de mysql server op een andere machine draait dan de php script. Het levert niet spectaculair veel problemen op als je druk bezocht wordt, echter wel zodra je verschillende connecties wilt openen (verschillende servers / accounts) Is het echter maar naar een account op steeds dezelfde server zijn er praktisch geen problemen mee.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


Verwijderd

mooi, dan heb ik het toch niet al die jaren helemaal verkeerd gedaan ;)
dit was eigenlijk wat ik al dacht, maar ik was heel eventjes bang dat sKiLL4 gelijk had :)
Pagina: 1