# ODBC einrichten?



## pamax (3. März 2005)

Hi,

kennt jemand ein E-Book über odbc oder ein Tuturial, wie man eine ODBC Datenbank einrichtet. Ich möchte über ODBC auf ACCESS zugreifen.(mit PHP)
Ist das überhaupt möglich?(auch wenn die Fragen doof sind, ich kenn mich damit einfach nicht aus )

Danke


----------



## ocb (3. März 2005)

Kurztutorial:

Einstellungen->Systemsteuerung->Verwaltung->Datenquellen

Dort eine neue System-DSN einrichten und das wars.


----------



## pamax (4. März 2005)

Und wie greife ich dann mit PHP darauf zu ?


----------



## ocb (4. März 2005)

http://www.phpcenter.de/de-html-manual/ref.odbc.html


----------



## pamax (4. März 2005)

Kann mir vielleicht jemand ein Beispielscript geben...
(Ich kapiere die Erklärung nicht...ich bin nämlich noch ein ziemlicher PHP anfänger )


----------



## ocb (5. März 2005)

Ist eine Art Library, die ich irgendwann mal in meinem Studium gebraucht hab. Hoffe es hilft ein wenig über die Startschwierigkeiten hinweg...


```
<?php
 
 	// basic connection handling
 
 
 	function ConnectDB($dbname, $user, $pwd) {
 	// opens a database connection via ODBC
 	//
 	// param: $dbname -> dsn (ODBC)
 	//		$user -> login
 	//		$pwd -> password
 	//
 	// return: $dbconn -> handle for connection
 
 		$dbconn = @odbc_connect($dbname, $user, $pwd)
 			or die("database connection failed (" . odbc_error() . ")");
 
 		return $dbconn;
 	}
 
 
 	function DisconnectDB($dbconn) {
 	// disconnects from database (fails if running TAs exists)
 	// (not really needed since connection is being closed when script terminates)
 	//
 	// param: $dbconn -> handle for database
 	//
 	// return: none
 
 		odbc_close($dbconn);
 	}
 
 
 	// basic SQL-handling
 
 
 	function ExecuteSQL($dbconn, $sql) {
 	// executes a sql-statement
 	//
 	// param: $dbconn -> handle for connection
 	//		$sql -> sql-statement
 	//
 	// return: $sqlresult -> database result
 
 		   if ($dbconn == 0)
 			echo "invalid handle!";
 
 		$sqlresult = @odbc_exec($dbconn, $sql)
 			or die("sql-statement execution failed (" . odbc_error() . ")");
 
 		return $sqlresult;
 	}
 
 
 	// basic output-generating
 
 
 	function PrintResultTable($result, $verbose = "off") {
 	// prints db-results in a html-table
 	//
 	// param: $result -> db-result
 	//		$verbose -> "off": table only (default)
     //				    "on": table + row-count ("n record(s) selected")
 	// return: none
 
 		$rowcount = 0;
 
 		echo "<table border>\n";
 		  echo "<tr>\n";
 
 		// generate table header from column names
 
 		  for ($i = 1; $i <= odbc_num_fields($result); $i++)
 			echo "<th>" . odbc_field_name($result,$i) . "</th>\n";
 
 		  echo "</tr>\n";
 
 		  // run through all result-rows
 
 		while (odbc_fetch_row($result)) {
 			echo "<tr>\n";
 			$rowcount++;
 
 		// run through all result-columns
 
 			for ($i = 1; $i <= odbc_num_fields($result); $i++) {
 			    $field =  odbc_result($result, $i);
 			   	echo "<td>&nbsp $field &nbsp</td>\n";
 			}
 		   }
 		   echo "</table>\n";
 
 		// add row-count (verbose mode)
 
 		if ($verbose == "on")
 			echo "<br> << $rowcount record(s) selected >>\n";
 	}
 
 
 function CreateDropdownList($result, $name, $size = 1) {
 	// prints db-results in a html-table
 	//
 	// param: $result -> db-result
 	//		$verbose -> "off": table only (default)
     //				    "on": table + row-count ("n record(s) selected")
 	// return: none
 	
 	if (odbc_num_fields($result) > 1) {
 		echo "invalid SQL-statement for dropdown-list";
 		return 0;
 	}
 	
 	echo "<select name=$name size=$size>\n"; 		
 
 		  // run through all result-rows
 
 		while (odbc_fetch_row($result)) {
 		$field = odbc_result($result, 1);
 			echo "<option>$field</option>\n";
 	}
 		
 	echo "</select>\n";
 	 }
 
 ?>
```


----------



## Slizzzer (7. März 2005)

Moin!

Hab mal was angehängt.

Gruß
Slizzzer


----------



## xthetronx (29. April 2005)

Hi Slizzzer,

Dein PDF war sehr hilfreich!  
Wäre vielleicht auch was für den Tutorials Bereich.

Gruß

Torsten


----------

