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

时间:2015-01-27 09:38:47

标签: php mysql function

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

首先,我想简化插入:

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

  2. 下一步选择数据库中的数据。和mysql_query(select * from account where contatc='$contatc')一样,我想简化它,或者只要我查询它就制作一个公式,我就不再输入了。

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

    这是选择数据的示例

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

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

小心你的代码。使用此代码,可以很容易地向其添加SQL注入。而且你有另一个问题:你正在使用mysql_ *扩展,这些扩展已被完全弃用(它们将在PHP的下一个主要版本中删除)。

我的建议是:

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