Doquery()

Door GaMer B, 21 jaar geleden, 4.216x bekeken

De functie doquery() heeft:
-database connectie (als het al niet begonnen is)
-query verwerking (aan de hand van parameters)
-fetchen van de resultaten.

In totaal heeft de functie 3 parameters:
-query: De query, dit kan SELECT, INSERT INTO, UPDATE etc. zijn.
-tabelnaam: Voor welke tabel wil je het laten gelden
-single-fetch: Ik heb het single genoemd, omdat het één resultaat kan verwerken. Als je meerdere resultaten wilt fetchen, moet je een while loop gebruiken. (moet ik nog iets op vinden)

In de query wordt gebruik gemaakt van

Gesponsorde koppelingen

PHP script bestanden

  1. doquery

 

Er zijn 15 reacties op 'Doquery'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Menno
menno
21 jaar geleden
 
0 +1 -0 -1
Is het niet gewoon hetzelfde als mysql_query?
Of zie ik iets over het hoofd
Iltar van der berg
iltar van der berg
21 jaar geleden
 
0 +1 -0 -1
Ik heb net een soort gelijk iets gemaakt, alleen dan met een php 5 class. Zal ik eens posten.
GaMer B
GaMer B
21 jaar geleden
 
0 +1 -0 -1
Je zou dan nog mysql_fetch_array moeten gebruiken en een "connectie checker" zit er dan ook nog bij. Verder is het maar net hoe je het ziet:
- Houd je van one-line scripts, is dit misschien een oplossing...
- Houd je van overzichtelijk en begrijpbaar, is dit misschien geen oplossing...

EDIT:
Quote:
iltar van der berg schreef op 29.06.2007 12:13
Ik heb net een soort gelijk iets gemaakt, alleen dan met een php 5 class. Zal ik eens posten.

Ja moet je doen, kan iedereen van leren...
PHP Newbie
PHP Newbie
21 jaar geleden
 
0 +1 -0 -1
Hmmm, Ik denk dat mysql_query() gemakkelijker is dan dit...

Ik zie het nut totaaaaaaal niet...


21 jaar geleden
 
0 +1 -0 -1
Je kan er beter een query checker van maken

dat je bijv
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
function doquery($query,$file,$row)
{

# Controleer de query op fouten en probeer deze te fixen

# Doe tevens een check om te kijken of er iets gedaan word wat niet mag; bijv DROP DATABASE, DROP TABLE of TRUNCATE TABLE kijken of dat in de query staat...

# Voer de query uit

$return = mysql_query($db_string, $db_connection);
if ($return === false)
     $return = databaseerror($db_string, $file, $line); # stuur de querry door naar de error handler zodat die kan kijken of het een fatale fout is...
return $return

}
?>


Maar natuurlijk kan je ook nog een cach functie inbouwen ;) maar dat is aan je zelf...
GaMer B
GaMer B
21 jaar geleden
 
0 +1 -0 -1
@PHP Newbie: Het is een andere kijk op een query verwerken.
@aka: Ja leuk, maar het is voor intern werk en zodra je voor extern+intern werk gaat toepassen, zou je dat idd kunnen toevoegen aan het script. Maar dat van jouw is optioneel.
Jelmer -
Jelmer -
21 jaar geleden
 
0 +1 -0 -1
Ik zou die include buiten de functie houden. Nu wordt hij iedere keer dat je de functie uitvoert geïnclude. Ik weet niet of dat voor problemen kan zorgen, maar normaal gaat define() dan met errors gooien.

Je kan trouwens ook 'static $link' gebruiken. Dan zit hij niet in de global namespace (stel je voor dat je ergens nog een variabele genaamd $link gebruikt, dan zou die wel eens deze $link kunnen overschrijven)
GaMer B
GaMer B
21 jaar geleden
 
0 +1 -0 -1
Gewijzigd.
Iltar van der berg
iltar van der berg
21 jaar geleden
 
0 +1 -0 -1
Je moet include gebruiken als er html codes inzitten.
Je moet require gebruiken als het gaat om functions/classes.

Je moet include_once en require_once gebruiken, als je het zoals op deze manier, includes meerdere keren zou kunnen includen.
GaMer B
GaMer B
21 jaar geleden
 
0 +1 -0 -1
Niks moet vind ik... Maaaar omdat jij het bent zal ik het wel wijzigen ;)
Jelle -
Jelle -
21 jaar geleden
 
0 +1 -0 -1
Dit is tog veel makkelijker?:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
//simpele functie om een even een query uit te voeren
function sql($sql) {
    $dbh = mysql_pconnect ("host", "naam", "pass") or die("hmm geen host gevonden");
    $db = mysql_select_db("dbnaam", $dbh) or die("De Database bestaat niet!");
    $result = mysql_query($sql, $dbh) or die("Er is een foutje in je sql:<br> $sql");
    return $result;
}
[
/code]
als je alles in 1 query propt is dit gewoon handig.
GaMer B
GaMer B
21 jaar geleden
 
0 +1 -0 -1
@jelle, fijn, maar ik heb het zo gedaan en niet op jouw manier.... Als je een betere manier hebt, post je je eigen script maar oke?
Iltar van der berg
iltar van der berg
21 jaar geleden
 
0 +1 -0 -1
Gamer, volgens mij is het wel een beetje dubbel op:

$host = "localhost";
$dbuser = "***";
$dbpass = "****";
$dbname = "***";

define('HOST', $host);
define('DBUSER', $dbuser);
define('DBPASS', $dbpass);
define('DBNAME', $dbname);

Kan je dan niet gewoon beter de gegevens meteen in de define zetten?
GaMer B
GaMer B
21 jaar geleden
 
0 +1 -0 -1
You're damn right! Ik had dit van me eigen site geplukt, maar zo stand-alone is het idd beter. Ik had dit hier laten staan, omdat je dan één bestandje hebt waar alle variabelen in staan (config.php), maar dit is idd dubbelop.
Bij deze gewijzigd.
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Iltar van der berg
iltar van der berg
21 jaar geleden
 
0 +1 -0 -1
Misschien zou het leuk zijn als de prefix die erin staat een beetje uitgewerkt word :)

Om te reageren heb je een account nodig en je moet ingelogd zijn.

Inhoudsopgave

  1. doquery

Labels

  • Geen tags toegevoegd.

Navigatie

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.