Zum Inhalt springen

[PHP] MySQL Datentyp?


Empfohlene Beiträge

Hallo zusammen,

für meine Webanwendung wollte ich mir eine Funktion Query() erstellen (ich nutze Prepared Statements und mysqli).

Bisher war die Abfrage ja immer einfach, da ich den Text direkt mit echo Ausgeben konnte.

Bei mehreren Abfragen sieht das aber unschön aus wenn man immer wieder

$DB->prepare,

$Query->bind_result($Spalte),...

schreiben muss.

Deswegen wollte ich die eigentliche Abfrage in eine Funktion packen und über Query($SQL) aufrufen. Doch jetzt komme ich ins grübeln.

Was muss ich in der fetch-Schleife meiner Funktion machen? Ich muss ja ein Objekt erstellen / befüllen und dann mit return zurückgeben. Was ist dafür der richtige Datentyp?


$DB = new mysqli("localhost", "user", "pass", "db");
$Query = $DB->prepare("SELECT SPALTE FROM TABELLE");
$Query->execute();
$Query->bind_result($Spalte);

while($Query->fetch())
{
// ALT: echo($Spalte);
// NEU: ???
}

$Query->close();

[/PHP]

Gruß, Luk

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hey, danke für deine Antwort.

Hatte ganz vergessen, dass ich keinen Datentyp benötige... (immer dieses C# in meinem Kopf^^)

Ich habe es nun so gelöst:


function Query($SQL)
{
global $DB;

$Result = $DB->query($SQL);

if (!$Result)
{
echo('Ungültige Abfrage: ' . $DB->error);
}

return $Result;
}
[/PHP]

Das dumme ist nur, dass der Query dann nicht geschlossen wird.... Gibt das Probleme ab einer gewissen Anzahl offener Verbindungen oder werden die am Ende der PHP-Seite automatisch geschlossen?

Bearbeitet von LukOnline
Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

das weiß Ich nicht. Ich arbeite nicht mit mysqli. Ansonsten kannst du ja eine function schreiben, die das Closen übernimmt. Aber ich denke, dass dieses nicht das Problem sein sollte. Lass es offen.

Sollte ein erhöhtes Sicherheitsrisko entstehen, soll sich hier einer zu Wort melden, der sich damit näher beschäftigt.

Gruß

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...