PHP 对数据库的增删改查

 
获取数据库连接
$mssql_connection = '';
function open_mssqlconn()
{
    global $mssql_connection;
//    global $MSSQL_SERVER;

//    global $connectionInfo;
    $MSSQL_SERVER = "DESKTOP-CA04H1Q\SQLEXPRESS";

    $connectionInfo = array("Database" => "ToncentHuaJie", "UID" => "sa", "PWD" => "123456");

    if (!$mssql_connection) {
        $mssql_link = sqlsrv_connect($MSSQL_SERVER, $connectionInfo);
//            sqlsrv_query("set NAMES GBK");
        if (!$mssql_link) {
            echo "Could not connect.\n";
            die(print_r(sqlsrv_errors(), true));
        }
        return $mssql_link;
    } else {
        return $mssql_connection;
    }
}
增删改查方法编码实现
////////////////////////////////查询////////////////////////////////
1)编写SQL语句

 $Q=“select * from User”

2)调用方法执行SQL

function mssqlquery($Q)
{
    global $mssql_connection;
    if (!$mssql_connection) {
        $mssql_connection = open_mssqlconn();
    }
    $Q = iconv("utf-8", "gbk", $Q);
    $cursor = sqlsrv_query($mssql_connection, $Q);

    if (!$cursor) {
        echo "SQL查询出错.\n";
        die(print_r(sqlsrv_errors(), true));
    }
    return $cursor;
}

3).解析结果

$cursor = mssqlquery($sql);
while ($row = sqlsrv_fetch_array($cursor, SQLSRV_FETCH_ASSOC)) {
    $result[] = array(
        'HUL_ID' => $row["HUL_ID"], // 主键id
        'SFD_Name' => iconv("GBK", "UTF-8", $row["SFD_Name"]),// 所属部门名称
        'SFD_ID' => $row["SFD_ID"],//所属部门id
        'SFU_Name' => iconv("GBK", "UTF-8", $row["SFU_Name"]),// 姓名名称
        'SFU_ID' => $row["SFU_ID"],// 姓名id
        'HAL_Name' => iconv("GBK", "UTF-8", $row["HAL_Name"]),// 级别名称
        'HAL_ID' => $row['HAL_ID'],// 级别名称id
        'HAT_Name' => iconv("GBK", "UTF-8", $row["HAT_Name"]),// 所属考核类别名称
        'HAT_ID' => $row["HAT_ID"],// 所属考核类别id
        'HAE_Name' => iconv("GBK", "UTF-8", $row["HAE_Name"]), //考核范围名称
        'HUL_Level' => $row["HUL_Level"],//考核范围id
    );
}
/////////////////////////////封装删除数据方法/////////////////////////////
function delete_db1($table, $where)
{
    global $mssql_connection;
    if (!$mssql_connection) {
        $mssql_connection = open_mssqlconn();
    }
    $wheresql = '';
    foreach ($where as $key => $val) {
        $wheresql .= empty($wheresql) ? " $key = '$val' " : " AND $key = '$val'";
    }
    $sql = "DELETE FROM $table WHERE $wheresql";
    $cursor = sqlsrv_query($mssql_connection, $sql);
    return sqlsrv_rows_affected($cursor);
}

////////////////////////////////////////////////封装插入数据库方法//////////////////////////////////////////////////////////////

function insert_db1($table, $data, $replace = false)
{
    global $mssql_connection;
    if (!$mssql_connection) {
        $mssql_connection = open_mssqlconn();
    }
    $keysql = $valsql = '';
    foreach ($data as $key => $val) {
        $keysql .= empty($keysql) ? $key : ", $key";
        if ($val == '') {
//            echo 'aaa ';
            $valsql .= empty($valsql) ? "null" : ", null";
        } else {
//            echo 'ccc ';
            $valsql .= empty($valsql) ? "'$val'" : ", '$val'";
        }
    }
    $method = $replace ? 'REPLACE' : 'INSERT';
    $sql = "$method INTO $table ($keysql) VALUES ($valsql)";
    $sql = stripslashes($sql);  //去除特殊字符串前面的反斜杠
    $sql = iconv("utf-8", "gbk", $sql);   //PHP使用UTF-8编码。SQL Server 2008使用默认的GBK编码  在执行查询语句之前将查询语句及所要插入的数据转化为GBK编码。
//    $sql="insert into $table (PMP_ID) values ('002')";
//    echo $sql.'</br>';
//    sqlsrv_query($mssql_connection,$sql);
    $cursor = sqlsrv_query($mssql_connection, $sql);
    return sqlsrv_rows_affected($cursor);
}

////////////////////////////////////////////////封装修改数据库数据方法//////////////////////////////////////////////////////////////

function update_db1($table, $value, $where)
{
    global $mssql_connection;
    if (!$mssql_connection) {
        $mssql_connection = open_mssqlconn();
    }
//    echo 'bb';
    $updatesql = $wheresql = '';
    foreach ($value as $key => $val) {

        if ($val == '') {
            $val = null;
            $updatesql .= empty($updatesql) ? " $key = null" : ", $key = null";
//            echo 'eee  ';
        } else {
            $val = str_replace("'", "''", $val);
            $updatesql .= empty($updatesql) ? " $key = '" . $val . "'" : ", $key = '" . $val . "'";
//            echo 'fff  ';
        }
    }
    foreach ($where as $key => $val) {
        $wheresql .= empty($wheresql) ? " $key = '" . $val . "' " : " AND $key = '" . $val . "'";
    }
    $sql = "UPDATE $table SET $updatesql WHERE $wheresql";
    $sql = stripslashes($sql);      //去除特殊字符串前面的反斜杠
    $sql = iconv("utf-8", "gbk", $sql);   //PHP使用UTF-8编码。SQL Server 2008使用默认的GBK编码  在执行查询语句之前将查询语句及所要插入的数据转化为GBK编码。
//    echo $table;
//    echo $sql;
    $cursor = sqlsrv_query($mssql_connection, $sql);
    return sqlsrv_rows_affected($cursor);
}

附 运用封装方法新增修改例子

//主表id
$HUL_ID = getGp('HUL_ID', 'P');
//主表参数
$SFU_ID = $_POST["SFU_ID"];
$SFD_ID = $_POST["SFD_ID"];
$HAL_ID = $_POST["HAL_ID"];
$HAT_ID = $_POST["HAT_ID"];
$HUL_Type = $_POST["HUL_Type"];
$HUL_Level = $_POST["HUL_Level"];
if ($HUL_ID == '') {
    $HUL_ID = create_ID('HR_AssessUserLevel');
    $HR_AssessUserLevel = array(
        'HUL_ID' => $HUL_ID,
        'SFU_ID' => $SFU_ID,
        'SFD_ID' => $SFD_ID,
        'HAL_ID' => $HAL_ID,
        'HAT_ID' => $HAT_ID,
        'HUL_Type' => 'BKH', //该模块默认为类型BKH
        'HUL_Level' => $HUL_Level,
    );
    insert_db1('HR_AssessUserLevel', $HR_AssessUserLevel);
    echo '数据存储成功';
} else {
    $HR_AssessUserLevel = array(
        'SFU_ID' => $SFU_ID,
        'SFD_ID' => $SFD_ID,
        'HAL_ID' => $HAL_ID,
        'HAT_ID' => $HAT_ID,
        'HUL_Type' => 'BKH', //该模块默认为类型BKH
        'HUL_Level' => $HUL_Level,
    );
    update_db1('HR_AssessUserLevel', $HR_AssessUserLevel, array('HUL_ID' => $HUL_ID));
    echo '数据更新成功';
}
 //PHP使用UTF-8编码。SQL Server 2008使用默认的GBK编码  在执行查询语句之前
将查询语句及所要插入的数据转化为GBK编码。

猜你喜欢

转载自blog.csdn.net/weixin_39494923/article/details/79630851
今日推荐