PDO/OOP Problem

BlackPerfect

Grünschnabel
Hi Leute, ich hab ein kleines bzw. ein größeres Problem! Ich will eine kleine PDO Klasse erstellen, aber leider bekomme ich dies nicht nach meinen wünschen hin. Dazu muss ich sagen das ich mich noch nicht lange mit OOP beschäftige. Aber trotzdem hier mein Problem: Die Verbindung zur DB funktioniert super aber wie kann ich denn query befehl ausführen lassen und alle weiteren die noch einbinden will.
Denn $this->$db->query() funktioniert ja z.B. nicht!?
Ich hoffe ich konnte euch so einigermaßen erklären was mein Problem ist!


Code:
<?php

class mysql
{
var $dbh;

function mysql($user,$pass)
{
$this->$dbh = new PDO('mysql:host=localhost;dbname=xxxxx',$user,$pass);
		
}
function query($sql)
{
// was muss hier hin
}
}
?>
 
hi,
also in deiner Funktion muss folgendes rein.
PHP:
function query($sql)
{
$statement = $this->$dbh->query($sql);
}

danch kannst du eine Instanz der Klasse erzeugen und mit der Funktion eine Query mitgeben.

die besser Lösung kommt als nächster Beitrag von Gumbo...

gruss
 
Zuletzt bearbeitet:
Mein Vorschlag:
PHP:
class mysql
{
	var $dbh;

	function mysql($user,$pass)
	{
		$this->dbh = new PDO('mysql:host=localhost;dbname=xxxxx',$user,$pass);
	}

	function query($sql)
	{
		return $this->dbh->query($sql);
	}
}
 
@Gumbo deine Idee mit return hat soweit funktioniert(es kommt auf jedenfall keine fehlermeldung), nur wie gebe ich jetzt denn Select Befehl aus, so das ich mir auch ganz sicher sein kann das dies geklappt hat.
Hier den Code denn ich bis jetzt verwende:

Code:
<?php  
mysql_error();
class mysql{
	var $dbh;
	function mysql($user,$pass)
	{
		$this->dbh = new PDO('mysql:host=localhost;dbname=xxx',$user,$pass);
	}

	function query($sql)
	{
		return $this->dbh->query($sql);
		
	}
}
$pdo = new mysql("xxx","xxxx");
$pdo->query("SELECT * FROM online");
?>

Danke euch jetzt schon!
 
hi,
das kannst du folgendermaßen bewerkstelligen

PHP:
mysql_error();
class mysql{
	var $dbh;
	function mysql($user,$pass)
	{
		$this->dbh = new PDO('mysql:host=localhost;dbname=xxx',$user,$pass);
	}

	function query($sql)
	{
		return $this->dbh->query($sql);
		
	}
/********** Nr. 1 ******************************/
function printResult($myResult){
// get Results.
$rows = $myResult ->fetchAll();
// Ergebnis auflisten
foreach ($rows as $row) {
//hier kannst dann auf die einzelnen DS ausgeben
print_r($row);
}
/**********************************************/
}

$pdo = new mysql("xxx","xxxx");
$myResult = $pdo->query("SELECT * FROM online");
/********** Nr. 2 ******************/
$pdo->printResult($myResult);

gruss webmanie
 
Hi Leute,

nochmal danke für eure Hilfe aber jetzt habe ich ein weiteres Problem wie kann ich denn Befehl mysql_insert_id(); in PDO umsetzten?

Danke euch mal wieder im vorraus!:-)
 
Zurück