Kom ihåg mig?
Home Menu

Menu


Funktion för att connecta till Mysql databas

 
Ämnesverktyg Visningsalternativ
Oläst 2013-06-14, 11:30 #11
danjel danjel är inte uppkopplad
Medlem
 
Reg.datum: Nov 2003
Inlägg: 214
danjel danjel är inte uppkopplad
Medlem
 
Reg.datum: Nov 2003
Inlägg: 214
Om du vill undvika att anropa en connect funktion när db används så kan enkapsulera denna funktionalitet, t.ex i en basklass, och ha en eller flera olika dataklasser

class MyData extends BaseData
{
public function getSomething($id)
{
return $this->db->getRow("SELECT * FROM table WHERE id=? LIMIT 1", $id);
}
}

$o = new MyData ();
$row = $o->getSomething();
echo $row->column1;
danjel är inte uppkopplad   Svara med citatSvara med citat
Oläst 2013-06-14, 16:40 #12
Clarence Clarence är inte uppkopplad
Administratör
 
Reg.datum: Jan 2003
Inlägg: 1 974
Clarence Clarence är inte uppkopplad
Administratör
 
Reg.datum: Jan 2003
Inlägg: 1 974
Citat:
Ursprungligen postat av corneliisandberg Visa inlägg
Hej Legendarisk!
Jag tycker din approach fungerar och om du inkluderar db-filen på de sidor du hämtar data ifrån kommer det också fungera bra oavsett metoderna OOP eller procedurbaserad programmering.

Om du ska skriva klasser/funktioner som nämns ovan tycker jag att du istället för mysqli tittar på PDO connections istället. Då uppnår du minst två saker. 1, du kan byta databasleverantör när du vill och 2 grundläggande sql-injectionskydd om du använder dig av prepare() metoden. PDO har de nödvändiga klasser för att du skall kunna bygga och gå vidare. Enda tråkiga som jag upplever är att du inte kan få sql-frågan utskriven (pratbar) om du använder execute() metoden. Men det löser man på annat sätt.

Tänk också såhär. När dagen är slut finns det två sorters kod, den som fungerar och den som inte fungerar. Sensmoralen är nog att; bygg på, skapa intressanta webblösningar och bli framgångsrik. Men såklart är eftertanke redan innan man startar att föredra men låt inte det bli ett ok bara.

Ge järnet!
Att objektorienterad kod kommit att dominera beror inte på att den vid första iterationen och första anblicken verkar fungera bättre. Det beror på koden blir lättare att läsa, underhålla, utöka, återanvända och testa. Så fort man har gått förbi första iterationen så är det av stor vikt. Visst, har du ett par hundra raders sajt kan du göra en första iteration med funktionell programmering. Men sen skapar du dig bara en större och större teknisk skuld ju längre projektet lever vidare. Sen slutar det med i att du måste skriva om hela projektet i ett stadie och det blir inte alltför sällan döden.

Därmed tycker jag det är svårt att svara på frågan i tråden. Vill man hjälpa till att snygga till en funktionell röra så gott det går (som de flesta), eller vill man hjälpa till att skapa en vettig struktur (som ConnyWesth).

Däremot håller jag med dig om PDO, av lite andra anledningar. MySQLi har också prepared statements som är lika säkra. Och att byta databas för ett långlivat projekt är till 99% att skriva om frågor och struktur. Att köra ett par regexp replace över kodbasen gör inte stor skillnad. Däremot har PDO ett par funktioner som mysqli saknar. T ex lite smidigare vid flera parametrar till prepared statements och möjligtheten att direkt mappa mot ett eget objekt (motsvarigheten hos PDO mappar till en stdClass).
Clarence är inte uppkopplad   Svara med citatSvara med citat
Oläst 2013-06-14, 17:14 #13
Legendarisk Legendarisk är inte uppkopplad
Flitig postare
 
Reg.datum: Nov 2012
Inlägg: 359
Legendarisk Legendarisk är inte uppkopplad
Flitig postare
 
Reg.datum: Nov 2012
Inlägg: 359
Tack för alla svar! Verkligen intressant att ta del av era tankar.

Jag håller mest på att leka och lära mig med diverse hobbyprojekt, men känns alltid bra att lära sig rätt från början av er som har mer vana.
Legendarisk är inte uppkopplad   Svara med citatSvara med citat
Oläst 2013-06-14, 21:04 #14
corneliisandberg corneliisandberg är inte uppkopplad
Nykomling
 
Reg.datum: Oct 2012
Inlägg: 33
corneliisandberg corneliisandberg är inte uppkopplad
Nykomling
 
Reg.datum: Oct 2012
Inlägg: 33
Legendarisk: Fortsätt experimentera och ha kul. När du säger att du vill lära "rätt" från början så har du inte fel i sak men jag tror på mängdträning allra först. Tanka ner färdiga skript, ändra någon klass eller metod och spinn vidare. En sak man lär sig efter ett tag är att det som är rätt idag kan vara helfel imorgon. Som militär ambulansman fick jag lära mig 15-2 metoden vid hjärt-lungräddning och idag är det någon annan kombination som gäller. Spelar roll om personen lever när kvällen är slut eller hur!

Skicka pm så ger jag dig gärna min skype och kan hjälpa mer hands-on om det behövs.

Ha en god och behaglig kväll!

OT: Angående Clerence kommentar och för din egen del ta gärna del av vad andra tycker om ämnet OOP och mer rakt-på-sak programmering som procedurell programmering kanske kan kallas. Jag tycker Java är vackert språk men jag får mer gjort med Php men har igentligen ingen religös åskådning om ämnet som sådant. Men att säga att man tycker procedurbaserad programmering rockar 2013 betyder att man genast ska brännas på bål anno 1498 i Spanien. För webben är procedurprogrammering mer naturlig tycker jag. Men alla tycker olika såklart.
Länk: http://www.rebol.com/cgi-bin/blog.r?view=0425

Senast redigerad av corneliisandberg den 2013-06-14 klockan 21:18
corneliisandberg är inte uppkopplad   Svara med citatSvara med citat
Oläst 2013-06-14, 23:22 #15
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Jag håller med Clarence om att den Objektorienterade paradigmen är den mest logiska att välja om man vill jobba med programmering över huvud taget.

Det gamla sättet att skriva kod "den imperativa" paradigmen är så obsolete den kan bli.

Strunta i att gå omvägar via dessa crappiga exempel som beskriver Imperativa lösningar, sök efter de objektorienterade, använd gärna PDO för databasaccess eller andra objektorienterade sätt att skriva kod.
Conny Westh är inte uppkopplad   Svara med citatSvara med citat
Oläst 2013-06-14, 23:38 #16
Clarence Clarence är inte uppkopplad
Administratör
 
Reg.datum: Jan 2003
Inlägg: 1 974
Clarence Clarence är inte uppkopplad
Administratör
 
Reg.datum: Jan 2003
Inlägg: 1 974
Citat:
Ursprungligen postat av corneliisandberg Visa inlägg
OT: Angående Clerence kommentar och för din egen del ta gärna del av vad andra tycker om ämnet OOP och mer rakt-på-sak programmering som procedurell programmering kanske kan kallas. Jag tycker Java är vackert språk men jag får mer gjort med Php men har igentligen ingen religös åskådning om ämnet som sådant. Men att säga att man tycker procedurbaserad programmering rockar 2013 betyder att man genast ska brännas på bål anno 1498 i Spanien. För webben är procedurprogrammering mer naturlig tycker jag. Men alla tycker olika såklart.
Länk: http://www.rebol.com/cgi-bin/blog.r?view=0425
Mer rakt på sakprogrammering, kanske jag kan hålla med om. Om du är helt säker på att du får koden rätt direkt och snabbt, inte vill testa koden, inte vill ändra delar av koden och inte vill vidareutveckla den så sparar det dig tid och energi.

Men för all del, jag har inget emot att man börjar med dålig kod. Huvudsaken är att man börjar, fortsätter och man vill röra sig framåt. Därför jag tycker frågan i tråden är svår. Jag har också skrivit dålig kod, det hör till att man har en personlig utveckling. Själv skriver jag bättre kod för varje år som går trots att jag jobbat mestadels med PHP i över 10 år (med hobbyprojekt och mindre projekt i en mängd andra språk, förvisso).

Att du tror att man ska använda Java för att skriva objektorienterad kod tyder på väldigt liten erfarenhet på området. Själv jobbar jag objekt-orienterat med PHP sedan många år, liksom mina kollegor. Inte sagt att det är perfekt kod för att det är objektorienterat, men det ger förutsättningarna att växa till en bra nivå. För 5-10 år sean var PHP communityn förvisso väldigt omogen inom området och man har på något dumt sätt på den profesionella nivån lärt sig själv det som t ex Java-communityn lärde sig fem år tidigare. Men det kanske också handlar om PHPs ursprung.
Clarence är inte uppkopplad   Svara med citatSvara med citat
Oläst 2013-06-15, 01:23 #17
corneliisandberg corneliisandberg är inte uppkopplad
Nykomling
 
Reg.datum: Oct 2012
Inlägg: 33
corneliisandberg corneliisandberg är inte uppkopplad
Nykomling
 
Reg.datum: Oct 2012
Inlägg: 33
Kamrater Conny o Clarence!
Er kod är bra och min kod är bra. Denna tråd börjar utveckla sig till en religiös åskådning.

Jag menade bara att användaren Legendarisk skulle utforska sina möjligheter och inkludera det sätt han vill för att kunna prata med just sin databas. Du Clarence är "administrator" vilket bör göra att du kan elevera frågan till en högre och mer abstrakt nivå. Jag tycker inte du eller Conny har fel. Men jag tycker Clarence är partisk.

Jag har väl aldrig sagt att man ska börja med dålig kod? Procedurbaserad kod är väl det de flesta flygplan, pensionssystem och andra rätt ändamålsenliga system jobbar med? De mest rudimentära systemen bygger på metoder som bevisats hålla under mycket lång tid.

Jag håller nog med Carl Sassenrath att de flesta OO projekten har mycket svulstig kod och därmed blir svår att underhålla. De som inte håller med Carl kan ju alltid argumentera på hans blogg! Jag tror Carl har mer erfarenhet än de flesta av oss med tanke på att han utvecklat ett flertal operativsystem och programmeringsspråk.

Vad jag menar med att webben i sig är mer procedurell än t.ex. en Windowsprogram är att varje klick som laddar om en sida instansierar sig själv och därmed förlorar du OOP vid varje klick. $newFow = new Form(); förlorar lite av sin charm där tycker jag iaf.

Häxprocesser och imperativ förföljelse är inte adekvat här. Användaren 'Legendarisk' vill veta vilket sätt som bäst lämpar sig. Vi har alla tre och fler därtill visat på ett flertal sätt ur flera olika vinklar hur du kan kontakta databasen. Det är väl bra?

Nu är detta ett glömt kapitel för mig. Som Clarence och Conny indirekt säger...må bästa program tjäna mest pengar

Hoppas Legendarisk och andra läsare fick hjälp, jag skickar gärna min skype om du behöver hjälp.
corneliisandberg är inte uppkopplad   Svara med citatSvara med citat
Oläst 2013-06-15, 13:26 #18
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Här kommer ett exempel på kod för att använda den objectoerienterade paradigmen för PDO och getConnection ()-metoden.

Det här är bara ett enkelt exempel på hur man kan göra. Jag har även lagt in felhantering med 'try {} Catch {}'....

Jag har valt att göra metoden getConnection() static så det inte går att skapa mer än en instans, som i sig görs genom att Connection bevaras i en static deklarerad variabel som jag initierar till null (static $dbconnection = null).

I detta fall heter min databas 'Test' därav namnet 'ApplicationDatabaseTest', om jag använder flera databaser i min applikation så kan jag enkelt kopiera denna klass och om jag exempelvis har en annan databas som heter 'Webbshop' så skulle klassen kunna heta 'ApplicationDatabaseWebbshop' .

För att hämta Connection så skriver man så här från sina anrop:

Kod:
$dbConn = ApplicationDatabaseTest::getConnection();
Kod:
<?php
/* 
 ApplicationDatabaseTest.PHP
 Allows PHP to connect to your database
*/
class ApplicationDatabaseTest
{
	// Database Variables (edit with your own server information)
	static $server = 'MyHost'; 	// exempelvis: 'localhost'
	static $user = 'MyUserID';	// exempelvis: 'kalle'
	static $password = 'MyPassword';// exempelvis: 'nYs9kGu4rb'
	static $database = 'MyDatabase';// exempelvis: 'MySampleDB'
	 
	// Get Connection to Database
	static function getConnection() 
	{ 
	    static $dbconnection = null;
	    try
	    { 
		    if (is_null($dbconnection)) 
		    { 
				$dbconnection = new PDO('mysql:host=' . self::$server.';dbname=' . self::$database, self::$user, self::$password);
		    }
		}
		catch (PDOException $e) 
		{
	    	throw new Exception("Error: " . $e->getMessage() . "",0,$e); 
		    die();
			return null; 
		}
		catch (Exception $e)
		{
	    	throw new Exception('Error: Can not connect to database.',0,$e); 
		}
		return $dbconnection; 
	}

} 
?>

Senast redigerad av Conny Westh den 2013-06-15 klockan 13:40
Conny Westh är inte uppkopplad   Svara med citatSvara med citat
Oläst 2013-06-15, 13:53 #19
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Här kommer mer exempel på hur man kan lägga upp en klass som jobbar mot en specifik tabell.

Just den här tabellen heter Players och har tre kolumner. Först lite DDL-script för databasen.
Kod:
delimiter $$

CREATE TABLE `players` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `firstname` varchar(32) NOT NULL,
  `lastname` varchar(32) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1$$

Och så här kan man bygga den tabellspecifika klassen. Jag har bara gjort denna enkel så den returnerar resultatsetet men man kan givetvis plocka ut de intressanta värdena och returnera dem som andra objekt eller datatyper beroende på vad man vill ha och vad som blir enkelt att använda i sin applikation.

Det här är bara vad jag slängde ihop i går kväll och lite editeringar nu på förmiddagen, så jag har inte ägnat särskilt mycket tid åt det.

Kod:
<?php
/* 
 Players.PHP
 Allows PHP to connect to your database
*/
class Player
{
	public $id = null;
	public $firstName = "";
	public $lastName = "";

	public function __construct()
	{
	}
		
	public function __toString()
	{
		return "(" . $id . ") " . $firstName . " " . $lastName; 
	}
		
	static function getPlayerById($id) 
	{
	    try
	    { 
			$sql = "SELECT * FROM players WHERE id = :id  ORDER BY firstname,lastname";
			
		    $dbConn = ApplicationDatabaseTest::getConnection();
			$dbStatement = $dbConn->prepare($sql);
			$dbStatement->bindParam(':id', $id);
			$dbStatement->execute();
			return $dbStatement->fetchAll(); 
		}
		catch (PDOException $e) 
		{
	    	throw new Exception("Error: " . $e->getMessage() . "",0,$e); 
		    die();
			return null; 
		}
		catch (Exception $e)
		{
	    	throw new Exception('Error: Can not connect to database.',0,$e); 
			return null; 
		}
	}
	 
	static function insertPlayer($firstName, $lastName) 
	{
	    try
	    { 
			$sql = "INSERT INTO players(firstname,lastname) VALUES(:firstName, :lastName)";
			
		    $dbConn = ApplicationDatabaseTest::getConnection();
			$dbStatement = $dbConn->prepare($sql);
			$dbStatement->bindParam(':firstName', $firstName);
			$dbStatement->bindParam(':lastName', $lastName);
			$dbStatement->execute();
			return null; // $dbStatement->newId; 
		}
		catch (PDOException $e) 
		{
	    	throw new Exception("Error: " . $e->getMessage() . "",0,$e); 
		    die();
			return null; 
		}
		catch (Exception $e)
		{
	    	throw new Exception('Error: Can not connect to database.',0,$e); 
			return null; 
		}
	}
	 
	static function updatePlayer($id, $firstName, $lastName) 
	{
	    try
	    { 
			$sql = "UPDATE `players` ";
			$sql = $sql + "SET ";
			$sql = $sql + "`firstname` = :firstName, ";
			$sql = $sql + "`lastname` = :lastName ";
			$sql = $sql + "WHERE id= :id";
			
		    $dbConn = ApplicationDatabaseTest::getConnection();
			$dbStatement = $dbConn->prepare($sql);
			$dbStatement->bindParam(':firstName', $firstName);
			$dbStatement->bindParam(':lastName', $lastName);
			$dbStatement->execute();
			return null; // $dbStatement->newId; 
		}
		catch (PDOException $e) 
		{
	    	throw new Exception("Error: " . $e->getMessage() . "",0,$e); 
		    die();
			return null; 
		}
		catch (Exception $e)
		{
	    	throw new Exception('Error: Can not connect to database.',0,$e); 
			return null; 
		}
	}
	 
	static function getAllPlayers() 
	{
	    try
	    { 
			$sql = "SELECT * FROM players ORDER BY firstname,lastname";
			
		    $dbConn = ApplicationDatabaseTest::getConnection();
			$dbStatement = $dbConn->prepare($sql);
			$dbStatement->execute();
			return $dbStatement->fetchAll(); 
		}
		catch (PDOException $e) 
		{
	    	throw new Exception("Error: " . $e->getMessage() . "",0,$e); 
		    die();
			return null; 
		}
		catch (Exception $e)
		{
	    	throw new Exception('Error: Can not connect to database.',0,$e); 
			return null; 
		}
	} 

	static function deletePlayer($id) 
	{
	    try
	    { 
			$sql = "DELETE FROM players WHERE id = :id";
			
		    $dbConn = ApplicationDatabaseTest::getConnection();
			$dbStatement = $dbConn->prepare($sql);
			$dbStatement->bindParam(':id', $id);
			$dbStatement->execute();
			return null; // $dbStatement->newId; 
		}
		catch (PDOException $e) 
		{
	    	throw new Exception("Error: " . $e->getMessage() . "",0,$e); 
		    die();
			return null; 
		}
		catch (Exception $e)
		{
	    	throw new Exception('Error: Can not connect to database.',0,$e); 
			return null; 
		}
	}
	 
	static function deleteAllPlayers() 
	{
	    try
	    { 
			$sql = "DELETE FROM players;";
			
		    $dbConn = ApplicationDatabaseTest::getConnection();
			$dbStatement = $dbConn->prepare($sql);
			$dbStatement->execute();
			return $dbStatement; 
		}
		catch (PDOException $e) 
		{
	    	throw new Exception("Error: " . $e->getMessage() . "",0,$e); 
		    die();
			return null; 
		}
		catch (Exception $e)
		{
	    	throw new Exception('Error: Can not connect to database.',0,$e); 
			return null; 
		}
	} 

	static function getCountOfAllPlayers() 
	{
	    try
	    { 
			$sql = "SELECT Count(*) AS Antal FROM players";
			
		    $dbConn = ApplicationDatabaseTest::getConnection();
			$dbStatement = $dbConn->prepare($sql);
			$dbStatement->execute();
			return $dbStatement->fetchAll(); 
		}
		catch (PDOException $e) 
		{
	    	throw new Exception("Error: " . $e->getMessage() . "",0,$e); 
		    die();
			return null; 
		}
		catch (Exception $e)
		{
	    	throw new Exception('Error: Can not connect to database.',0,$e); 
			return null; 
		}
	} 

	static function getAllPlayersWithQuery() 
	{
		try 
		{
		    $dbConn = ApplicationDatabaseTest::getConnection();
		    return $dbConn->query('SELECT * from Players ORDER BY firstname,lastname');
		}
		catch (PDOException $e) 
		{
	    	throw new Exception("Error: " . $e->getMessage() . "",0,$e); 
		    die();
			return null; 
		}
		catch (Exception $e)
		{
	    	throw new Exception('Error: Can not connect to database.',0,$e); 
			return null; 
		}
	}
} 

?>
Testkod kommer i mitt nästa inlägg....
Conny Westh är inte uppkopplad   Svara med citatSvara med citat
Oläst 2013-06-15, 13:59 #20
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Jag använder en autoloader som ligger i underkatalogen 'lib':

Kod:
<?php
// File: autoload.php
// Modified by Conny Westh 2012-09-13
function __autoload($class_name) 
{
    if(file_exists($class_name . '.php')) 
    {
        require_once($class_name . '.php');    
    } 
    else 
    {
        throw new Exception("Kan inte ladda klass: $class_name.");
    }
}
?>
Här är de Testklasser jag använder....

Kod:
<?php
/* 
	PlayersTest.PHP
*/
require_once('/lib/autoload.php');
// spl_autoload_extensions(".inc, .php, .lib, .class.php, .lib.php "); // comma-separated list
// spl_autoload_register();
class PlayersTest
{
	static function RunTestDeleteAllPlayers() 
	{ 
	    try
	    { 
			print("--------------------------------------------------------------\n");
			print("Begin: DELETE All Players:\n");
			Players::deleteAllPlayers();
			print("End: DELETE All Players:\n");
			
			print("--------------------------------------------------------------\n");
			print("Begin: Fetch Players::getCountOfAllPlayers():\n");
			$result1 = Players::getCountOfAllPlayers();
			foreach($result1 as $row) 
			{
			    print_r($row);
			}
			print("End: Fetch Players::getCountOfAllPlayers():\n");
			print("--------------------------------------------------------------\n");
		}
		catch (PDOException $e) 
		{
	    	throw new Exception("Error: " . $e->getMessage() . "",0,$e); 
		    die();
			return null; 
		}
		catch (Exception $e)
		{
	    	throw new Exception('Error: Can not connect to database.',0,$e); 
		}
		return null; 
	}

	static function RunTestInsertAllPlayers() 
	{ 
	    try
	    { 
			print("--------------------------------------------------------------\n");
			print("Begin: INSERT INFO Players:\n");
			Players::insertPlayer("Robert","McIntosh");
			Players::insertPlayer("Tim","Brody");
			Players::insertPlayer("Rebecca","Jefferson");
			Players::insertPlayer("Sandy","Jonson");
			Players::insertPlayer("John","Archimedes");
			Players::insertPlayer("Elisabet","Futterkiste");
			Players::insertPlayer("Anna","Oscarson");
			Players::insertPlayer("Olivia","Runesson");
			print("End: INSERT INFO Players::\n");
		}
		catch (PDOException $e) 
		{
	    	throw new Exception("Error: " . $e->getMessage() . "",0,$e); 
		    die();
			return null; 
		}
		catch (Exception $e)
		{
	    	throw new Exception('Error: Can not connect to database.',0,$e); 
		}
		return null; 
	}

	static function RunTestGetAllPlayersWithQuery()
	{ 
	    try
	    { 
			print("--------------------------------------------------------------\n");
			print("Begin: Fetch all TestPlayers:\n");
			$result0 = Players::getAllPlayersWithQuery();
			foreach($result0 as $row) 
			{
			    print_r($row);
			}
			print("End: Fetch all TestPlayers:\n");
		}
		catch (PDOException $e) 
		{
	    	throw new Exception("Error: " . $e->getMessage() . "",0,$e); 
		    die();
			return null; 
		}
		catch (Exception $e)
		{
	    	throw new Exception('Error: Can not connect to database.',0,$e); 
		}
		return null; 
	}

	static function RunTestGetAllPlayers()
	{ 
	    try
	    { 
			print("--------------------------------------------------------------\n");
			/* Fetch all of the remaining rows in the result set */
			print("Begin: Fetch Players::getAllPlayers():\n");
			$result1 = Players::getAllPlayers();
			foreach($result1 as $row) 
			{
			    print_r($row);
			}
			print("End: Fetch Players::getAllPlayers():\n");
		}
		catch (PDOException $e) 
		{
	    	throw new Exception("Error: " . $e->getMessage() . "",0,$e); 
		    die();
			return null; 
		}
		catch (Exception $e)
		{
	    	throw new Exception('Error: Can not connect to database.',0,$e); 
		}
		return null; 
	}

	static function RunTestGetPlayerById()
	{ 
	    try
	    { 
			print("--------------------------------------------------------------\n");		
			$id = 1;
			print("Begin: Fetch Players::getPlayerById($id):\n");
			$result2 = Players::getPlayerById($id);
			foreach($result2 as $row) 
			{
			    print_r($row);
			}
			print("End: Fetch Players::getPlayerById($id):\n");
		}
		catch (PDOException $e) 
		{
	    	throw new Exception("Error: " . $e->getMessage() . "",0,$e); 
		    die();
			return null; 
		}
		catch (Exception $e)
		{
	    	throw new Exception('Error: Can not connect to database.',0,$e); 
		}
		return null; 
	}

	static function RunTestGetCountOfAllPlayers()
	{ 
	    try
	    { 
			print("--------------------------------------------------------------\n");
			print("Begin: Fetch Players::getCountOfAllPlayers():\n");
			$result1 = Players::getCountOfAllPlayers();
			foreach($result1 as $row) 
			{
			    print_r($row);
			}
			print("End: Fetch Players::getCountOfAllPlayers():\n");
		}
		catch (PDOException $e) 
		{
	    	throw new Exception("Error: " . $e->getMessage() . "",0,$e); 
		    die();
			return null; 
		}
		catch (Exception $e)
		{
	    	throw new Exception('Error: Can not connect to database.',0,$e); 
		}
		return null; 
	}

	static function RunTest() 
	{ 
	    try
	    { 
			self::RunTestDeleteAllPlayers();
			self::RunTestInsertAllPlayers();
			self::RunTestGetAllPlayersWithQuery();
			self::RunTestGetAllPlayers();
			self::RunTestGetPlayerById();
			self::RunTestGetCountOfAllPlayers();
			print("--------------------------------------------------------------\n");
			print("                    All test are Done.                        \n");
			print("--------------------------------------------------------------\n");
		}
		catch (PDOException $e) 
		{
	    	throw new Exception("Error: " . $e->getMessage() . "",0,$e); 
		    die();
			return null; 
		}
		catch (Exception $e)
		{
	    	throw new Exception('Error: Can not connect to database.',0,$e); 
		}
		return null; 
	}
} 

PlayersTest::RunTest();

?>
Conny Westh är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 07:14.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017