Generalized Sql Query Function
Argggh, my eyes burn!

SQL Injections

You should understand SQL injections.  This code is likely to promote SQL injections.  Read up about prepared statements.  It looks like you are probably passing in a mysql_* function as a string.  This stops you from using prepared statements.

Please, don't use mysql_* functions in new code. They are no longer maintained and the deprecation process has begun on it. See the red box? Learn about prepared statements instead, and use PDO or MySQLi - this article will help you decide which. If you choose PDO, here is a good tutorial.

One Size Fits None


Your function is overly complex.  It should be broken into methods for each action.  This will remove the need for the big switch and if statements and make it more readable.  Your code will be easier to test.

This also causes you to have a variable function call $Db_Function($sql, 0, 0, 0);.  It is easy to have errors by calling non-existent functions with this.

Response To Edit: It looks better with separate functions now. 

Method Naming

You really have an awful naming scheme.  Is this dictated to you by your bosses?  Personally I already think they are silly for wanting a class like this that would promote SQL Injections.  You have a mixed pascal case name aaaa_Bbbb_Cccc?  Sane choices are camelCase, UpperCamelCase, Pascal_Case, lower_pascal_case.

The methods should not have sql_ preceding them.  Their usage should be like this:

$sql = new sql; // Or whatever your class is called.
$sql-&gt;insert(/* params go here */);


It should be obvious from the object that you create that you have an sql type object.  The sql_ in front of the method names then just gets in the way.

Unused Parameter

The sql_delete method does not use the $Fields parameter and it should therefore be removed.

Magic Numbers

Magic 0's and 1's are a sign of poor design. 

Consistency

Please find a consistent way to name variables.  $sql, $fields, $value are in the minority.  I dislike Pascal_Case for variables in PHP, but inconsistency is even worse.