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;   
}

?>