MySQL — как написать обобщенную функцию для выполнения SQL-запросов в PHP?

Я новичок в Php и в основном я делал проекты на vb.net, и теперь я хочу попробовать что-то на php, мой вопрос заключается в том, как написать функцию, которая принимает строку и выполняет запросы sql, такие как, удаление, обновление и вставка, как в примере ниже которого я это сделал на vb.net

 Public Function ExecuteSQLQuery(ByVal SQLInsertString As String) As Boolean
Dim err As Boolean = True
Dim SqlConn As New SqlClient.SqlConnection
Dim Sqlcmmd As New SqlClient.SqlCommand
Try
SqlConn.ConnectionString = ConnectionStrinG
SqlConn.Open()
Sqlcmmd.Connection = SqlConn
Sqlcmmd.CommandText = SQLInsertString
Sqlcmmd.CommandType = CommandType.Text
Sqlcmmd.ExecuteNonQuery()
Catch ex As Exception
MsgBox(ex.Message)
err = False
Finally
SqlConn.Close()
SqlConn.Dispose()
Sqlcmmd.Connection = Nothing
End Try
Return err
End Function

0

Решение

я использовал общий класс для этого. Вот функции, которые я использовал. Вам необходимо указать параметры для соединений. Пример:

function OpenLink()
{ // Method : begin
$this->link = @mysql_connect($this->host,$this->user,$this->password) or die (print "Class Database: Error while connecting to DB (link)");

} // Method : end

function SelectDB()
{ // Method : begin

@mysql_select_db($this->database,$this->link) or die (print "Class Database: Error while selecting DB");} // Method : end

function CloseDB()
{ // Method : begin
mysql_close();
} // Method : end

function Query($query)
{ // Method : begin
$this->OpenLink();
$this->SelectDB();
$this->query = $query;

$this->result = mysql_query($query,$this->link) ;//or die (print "Class Database: Error while executing Query");

// $rows=mysql_affected_rows();

if(ereg("SELECT",$query))
{
$this->rows = mysql_num_rows($this->result);
}

$this->CloseDB();
} // Method : end

Эта функция также для выбора. Вы можете передать любой текст SQL. Вы можете выбрать, как его использовать, где открывать соединения. Я открываю закрытие в функции запроса. но вы можете изменить это при необходимости.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]