如何简化我的PHP代码(插入,更新和删除)


how to simplify my php code(insert, update and delete)

嗨,我是PHP的新手,我听说有一种方法可以简化您的php查询代码:)

首先,我想简化插入:

  1. 我有一个查询mysql_query("insert into table (示例) values ('$sample')");我想像公式一样简化它,您只需输入表格和值即可。这样每当我查询时,我都不会输入mysql_query等等

  2. 下一页 选择数据库上的数据。就像mysql_query(select * from account where contatc='$contatc')我想简化它,或者只是制作一个公式,每当我查询它时,我都不会再输入了。

我还读到,为了制作它,我将使用函数提前致谢

这是选择数据的示例

function check($value, $where, $database) {
    //foreach($field_arr as $value);
    $q=sprintf("SELECT `".$value."` FROM `".$database."` WHERE ".$where."");
    if(! $data=mysql_query($q)){
        return FALSE;
    }
    else {
        return mysql_num_rows($data);
    }
}

以下是执行数据库操作的函数

## Connect to Server ##
    function connect($server="",$user="", $pass="")
    {
        $conn = mysql_pconnect($server,$user,$pass);
        if(!$conn) {
            echo "Connection attempt failed"." Error No:".mysql_errno()."<br>Error Message : ". mysql_error();
        }
        return true;
    }
    ## Select Database for table operation ##
    function selectDatabase($dbase)
    {
        global $conn;
        if(empty($conn)) { echo "Connection not found"; }
        if(!mysql_select_db($dbase, $conn)) {
            echo "Dbase Select failed"." Error No:".mysql_errno()."<br>Error Message : ". mysql_error();
        }
    }
    ## Execute Select Query
    function select ($sql="", $fetch = "mysql_fetch_assoc")
    {
        global $conn;
        if(empty($sql)) { echo "Select Query not found"; }
        if(empty($conn)) { echo "Connection not found";}
        $results = @mysql_query($sql,$conn);
        if(!$results) {
            echo "Error in Query : ".$sql."<br>".mysql_errno()." : ". mysql_error();
        }
        $data = array();
        while ($row = $fetch($results))
        {
            $data[] = $row;
        }
        mysql_free_result($results);
        return $data;
    }
    ## Execute Insert Query
    function insert ($sql="")
    {
        global $conn;
        if(empty($sql)) { echo "Insert query not found"; }
        if(empty($conn)
        {
            echo "Connection not found";
        }
        $results = mysql_query($sql,$conn);
        if(!$results)
        {
            echo "Error in Query : ".$sql."<br>".mysql_errno()." : ". mysql_error();
        }
        $id = mysql_insert_id();
        If($id)
            return $id;
        else
            return 1;
    }
    ## Execute Update / Delete / mulitple insert query
    function execute($sql="")
    {
        global $conn;
        if(empty($sql)) { echo "Query not found"; }
        if(empty($conn))
        {
            echo "Connection not found";
        }
        $results = mysql_query($sql,$conn);
        if(!$results)
        {
            echo "Error in Query : ".$sql."<br>".mysql_errno()." : ". mysql_error();
        }
        $rows = 0;
        $rows = mysql_affected_rows();
        if($rows==0)    return 1;
        return $rows;
    }

小心你的代码。使用此代码,向其添加SQL注入非常容易。您还有另一个问题:您正在使用完全弃用的 mysql_* 扩展(它们将在 PHP 的下一个主要版本中删除)。

我的建议是:

  • 切换到另一个数据库库。我推荐PDO(http://php.net/manual/en/book.pdo.php),但你也可以使用mysqli。
  • 了解一些有关 SQL 注入的信息。在Stack Overflow中有很多关于SQL注入和PHP的好而有趣的线程。