SQL-Funktionen
<?php
// create multiple database connection to different databases
$user = "user";
$pass = "pass";
$connA = mysql_connect("localhost", $user, $pass);
$connB = mysql_connect("localhost", $user, $pass, true); //true für wirklich neue verbindung
mysql_select_db('drupal', $connA);
mysql_select_db('joomla', $connB);
$resA = mysql_query("select * from users", $connA );
$resB = mysql_query("select * from error", $connB );
echo "<pre>";
while($rowA = mysql_fetch_assoc($resA)){
print_r($rowA);
}
echo "</pre>
<h1>die zweite DB</h1>
<pre>";
while($rowB = mysql_fetch_assoc($resB)){
print_r($rowB);
}
//==============Verwaltung=============================
/** Connect to Database */
function sql_connect_db($host, $user, $pass, $database){
if(!mysql_connect($host, $user, $pass)){
echo "<p class=\"message_error\">Kein Connect zur DB möglich.<br>".mysql_error()."</p>\n";
return false;
}
if(!mysql_select_db($database)){
echo "<p class=\"message_error\">Keine solche Datenbank vorhanden.<br>".mysql_error()."</p>\n";
return false;
}
return true;
}
function do_multistatement($statement){
$stuecke = explode(';', trim($statement));
for($i=0; $i<count($stuecke);$i++){
if(substr_count($stuecke[$i], "'")%2 ==1 ){
$stuecke[$i+1] =$stuecke[$i].";".$stuecke[$i+1];
$stuecke[$i] = "";
}
}
foreach($stuecke as $id => $stueck){
if(trim($stueck)==""){
unset($stuecke[$id]);
}
}
$fehler = 0;
foreach($stuecke as $stueck){
if(!mysql_query($stueck)){
echo mysql_error();
$fehler++;
}
}
if($fehler > 0){
return false;
}else{
return true;
}
}
//==============SELECTS=============================
// listed sql execution
/** SELECT statemant as array */
function sql_select_listed($statement){
$res = mysql_query($statement);
if(!$res){
echo mysql_error();
return false;
}else{
$ergebnis = array();
while($row = mysql_fetch_assoc($res)){
$erg2= array();
foreach($row as $id => $wert){
$erg2[$id] = $wert;
}
$ergebnis[] = $erg2;
}
return $ergebnis;
}
}
// standard sql execution
/** SELECT statemant as standard */
function sql_select_standard($statement){
$res = mysql_query($statement);
if(!$res){
echo mysql_error();
return false;
}else{
return $res;
}
}
//==============INSERTS=============================
// standard sql execution
/** INSERT statemant as standard */
function sql_insert_standard($statement){
$sql = $statement;
if(!do_multistatement($sql)){
$return=false;
}else{
$return = true;
}
return $return;
}
// secure transaction with rollback on error
/** INSERT statemant secure with ROLLBACK on error */
function sql_insert_secure($statement){
mysql_query("START TRANSACTION;");
$sql = $statement;
if(!do_multistatement($sql)){
mysql_query("ROLLBACK;");
$return=false;
}else{
mysql_query("COMMIT;");
$return = true;
}
return $return;
}
//==============UPDATES=============================
// standard sql execution
/** UPDATE statemant as standard */
function sql_update_standard($statement){
$sql = $statement;
if(!do_multistatement($sql)){
$return=false;
}else{
$return = true;
}
return $return;
}
// secure transaction with rollback on error
/** UPDATE statemant secure with ROLLBACK on error */
function sql_update_secure($statement){
mysql_query("START TRANSACTION;");
$sql = $statement;
if(!do_multistatement($sql)){
mysql_query("ROLLBACK;");
$return=false;
}else{
mysql_query("COMMIT;");
$return = true;
}
return $return;
}
//==============DELETE=============================
// standard sql execution
/** UPDATE statemant as standard */
function sql_delete_standard($statement){
}
// secure transaction with rollback on error
/** DELETE statemant secure with ROLLBACK on error */
function sql_delete_secure($statement){
mysql_query("START TRANSACTION;");
$sql = $statement;
if(!do_multistatement($sql)){
mysql_query("ROLLBACK;");
$return=false;
}else{
mysql_query("COMMIT;");
$return = true;
}
return $return;
}
?>
