Forum Activity

Forum feed

Connect to Database  Top

  • Hello,

    I am trying to create a custom block. What is postnukes function to connect to the database and to de-connect from it?

    thanks
  • Look at the first.php in the /Example/pnblocks folder.
  • I took a look in there but I still confused as to how to connect to the database. I read somewhere that there is a snippet of code like this

    Code

    $dbconn =& pnDBGetConn(true);
  • Normally you'd place a functions connecting to the database in the API. If you look at first.php you'll see it calling API functions several times. From line 107 in first.php:

    Code

    // Call the modules API to get the items
        $items = pnModAPIFunc('Example',
                              'user',  
                              'getall');

    This will call the Example_userapi_getall() function located in pnuserapi.php. If you open this file and locate the function you'll see that it's creating a connection to the database..

    Code

    $dbconn =& pnDBGetConn(true);

    .. and later using that connection to execute SQL.

    Code

    $result = $dbconn->SelectLimit($sql, $numitems, $startnum-1);

    If you don't need to set a limit you can also execute the SQL like this

    Code

    $result =& $dbconn->Execute($sql);

    When you're done fetching the result you should close the result set before returning the data you were looking for

    Code

    $result->Close();


    --
    Erik from www.TenTonHammer.com
  • Thanks for the great info. Is there any advantage to using postnuke's method of connection to the database over using non-postnuke coding? i.e :

    Code

    $conn = mysql_connect($dbhost, $dbuser, $dbpass) or die ('Error connecting to mysql');




    edited by: sae, Jul 16, 2006 - 03:49 PM
  • It's generally a good idea to use core functions for security reasons, but it's also very practical.

    You should at least not write that code in every function.. just imagine the nightmare if you one day have to change the password for example!

    You could have that code in an own file and include it somehow, but why go through that stuff if you can just call the core function and be done with it? :)

    --
    Erik from www.TenTonHammer.com

This list is based on the users active over the last 60 minutes.