php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2006

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 17.10.2006, 10:17  
LP
Erfahrener Benutzer
 
Registriert seit: 02.06.2005
Beiträge: 150
LP
Standard grundlegendes zu funktionen

Hi,

ich habe 2 grundlegende Fragen zu Funktionen
zum Einen möchte ich gerne Variablen über eine Funkton leeren
PHP-Code:
<php
 $vname
="";
 
$nname="";
?> 
ist das generell möglich ohne variablen zu übergeben und ohne einen return, so dass die variablen auch erstellt werden?

und zum 2. habe ich einen immer wiederkehrenden code um sql abfragen zu realisieren:
PHP-Code:
<?php
    $sql
="";
    
$sql=("...");
    
$result=mysql_query($sql,$dbh)
     OR die(
"Fehler bei der Abfrage");
?>
könnte ich das in eine funktion fassen, so dass ich in der klammer die sql anweisung schreibe und $result weiter nutzen kann?
LP ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 17.10.2006, 10:30  
Erfahrener Benutzer
 
Benutzerbild von dsmcg
 
Registriert seit: 11.10.2005
Beiträge: 2.405
dsmcg sorgt für eine eindrucksvolle Atmosphäredsmcg sorgt für eine eindrucksvolle Atmosphäredsmcg sorgt für eine eindrucksvolle Atmosphäre
Standard

Zu Frage 1. der Return wert, muss (so verstehe ich es zumindest) einfach die leere Variable sein.

Zu Frage 2, klar kannst du dies. du musst dan einfach auch einen Return Wert festlegen mit dem du dann weiter arbeiten möchtest, ich denke hier macht eine keine query klasse mehr sinn.

Tutorial Query Klasse
__________________
Wie man Fragen richtig stellt
dsmcg ist offline  
Alt 17.10.2006, 11:05  
Erfahrener Benutzer
 
Registriert seit: 08.11.2004
Beiträge: 2.079
Der_Gerhard ist zur Zeit noch ein unbeschriebenes Blatt
Der_Gerhard eine Nachricht über ICQ schicken
Standard

Kannst Du nochmal genauer sagen, was Du willst? Irgendwie fehlen da ein paar Infos.

Zu 1:
Woher soll eine Funktion denn wissen, welche Variable geleert werden soll, wenn Du sie nicht übergibst und auch kein return machst?
Sollen es immer die gleichen Variablen sein, die geleert werden sollen?
Dann würde das evtl. mit global funktionieren.
Wenn es unterschiedliche sind, musst Du entweder die Variable per Referenz übergeben oder den Rückgabewert an die Variable zuweisen. Der muss dann natürlich auch mit return zurückgegeben werden. Andernfalls ist der Wert undefiniert. Da könntest Du dann auch gleich unset() verwenden.

Zu 2:
Was soll das denn mal bringen?
Du willst den SQL-Query als Parameter übergeben. OK. Den Rückgabewert davon musst Du natürlich dann zurückgeben.
Aus Deinem Code
PHP-Code:
<?php
   $sql
="";
   
$sql=("...");
   
$result=mysql_query($sql,$dbh) OR die("Fehler bei der Abfrage"); 
?>
Wird dann also der hier:
PHP-Code:
<?php
function MeineFunktion($sql)
{
   global 
$dbh;
   return 
mysql_query($sql,$dbh) OR die("Fehler bei der Abfrage");
}
...

   
$sql="";
   
$sql=("...");
   
$result=MeineFunktion($sql); 
?>
So wahnsinnig viel Einsparung bringt Dir das jetzt nicht.
Was die zweite Zeile mit $sql= soll, weiß ich nicht. Da wird ja nur die erste überschrieben... Auf jeden Fall muss die Vorbereitung des SQL-Strings auch weiterhin selbst erfolgen, wenn Du nicht immer genau das gleiche abfragen willst, was ja recht langweilig wäre.
__________________
**********************************
Nein, ich bin nicht die Signatur.
Ich putze hier nur.
**********************************
Der_Gerhard ist offline  
Alt 17.10.2006, 12:08  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

zu 1.:
so eine Funktion gibt es wie Der_Gerhard schon gesagt hat bereits: unset($var1, $var2, ..). Wenn du Variablen leeren möchtest (Leer-String), benutze eben diese Syntax:
PHP-Code:
<?php
$var1 
$var2 $var3 '';
?>
Jeder versteht auf den ersten Blick was das bewirkt.

zu 2.:
Für die Fehlerbehandlung gibt es bereits Datenbank-Klassen, den Query abschicken musst du in den meisten fällen aber selbst. Wenn du schon dabei bist, bastel dir lieber eine Funktion, die dir dann auch gleich die Ergebnisse abholt.
Zergling-new ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Templatesystem mit Funktionen und Variablen drin? BartTheDevil89 PHP Tipps 2008 6 01.07.2008 09:32
welche funktionen deaktivieren brian johnson PHP-Fortgeschrittene 4 15.11.2007 09:25
public, protected, private Funktionen ecomeback PHP Tipps 2007 10 21.08.2007 02:21
Klassen und externe Funktionen ? ssm PHP-Fortgeschrittene 17 18.07.2007 11:59
eine Variable für alle Funktionen definieren Wing PHP Tipps 2007 16 24.06.2007 21:02
komische arrays werden in funktionen nicht angenommen! mollitz PHP Tipps 2007 8 08.03.2007 18:50
Anweisungen, Befehlen und Funktionen guenterfrosch PHP Tipps 2006 7 08.10.2006 13:37
Funktionen überprüfen und Grafik Funktionen hans.karl2 PHP Tipps 2006 10 31.07.2006 20:08
Funktionen in Funktionen - ist das gut? Schneckenkind PHP Tipps 2006 23 10.06.2006 13:39
Klassen, Funktionen und Session Fatal Error PHP Tipps 2006 1 15.03.2006 19:05
Globale Variabeln in Funktionen finerip PHP Tipps 2007 3 28.11.2005 16:00
Partnerbörse mit individuellen Funktionen gegen Bezahlung Beitragsarchiv 10 23.03.2005 16:27
Funktionen aufrufen PHP Tipps 2005 5 31.01.2005 10:57
Eure Ideen sind gefragt: eigene Funktionen verwalten PHP-Fortgeschrittene 12 17.01.2005 15:00
Funktionen Erklärung TheSkaterFriend PHP Tipps 2004 14 11.06.2004 22:05


Alle Zeitangaben in WEZ +2. Es ist jetzt 14:19 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.