| Topic: | Connect to Database |
|---|---|
|
sae
Helper
Posts: 312 Posted: |
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 |
|
HalbrookTech
online Legend
Posts: 6594 Posted: |
Look at the first.php in the /Example/pnblocks folder. |
|
sae
Helper
Posts: 312 Posted: |
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 thisCode$dbconn =& pnDBGetConn(true); |
|
TTH_Erik
Freshman
Posts: 11 Posted: |
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 |
|
sae
Helper
Posts: 312 Posted: |
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 :Codeedited by: sae, Jul 16, 2006 - 03:49 PM |
|
TTH_Erik
Freshman
Posts: 11 Posted: |
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 |