cari
Rumahpembangunan bahagian belakangtutorial php分享一个自己写的php操作mysql数据库的类

这是我自己写的一个类,欢迎大家讨论指导
部分使用方法:
//声明数据库对象
$Conn = new Mysql;
//加载数据库参数
$Conn->Parameter(数据库服务器, 数据库用户名, 数据库密码, 数据库名称, 数据库编码, 数据库表前缀[可为空]);

上面的代码就已经加载这个类文件进来了,并且初始化了一些数据库连接参数!
下面介绍几个基本是方法函数:
1、 $Conn -> Table();
选择数据表,参数是数据表名称
2、$Conn -> Field();
选择的字段名称,多个用逗号隔开,如不调用这个方法,则返回全部
3、$Conn -> Where();
Sql Where子语句,根据条件筛选
4、$Conn -> Order();
Sql 排序
5、$Conn -> Page(int);
参数是一个正整数数字,如调用这个方法,记录将分页显示
6、$Conn -> Select(布尔值);
执行查询,返回查询结果,如果有,则是一个二维数组,如果无,则返回假,参数可省略,如省略,默认为真,返回的数组包含数字元素
7、$Conn -> Del();
删除记录
8、 $Conn -> Edit(array());
修改记录,参数是一个一维数组,数组键是字段名称,数组值是字段值
9、$Conn -> Into(array());
添加记录,参数是一个一维数组,数组键是字段名称,数组值是字段值。

以上方法可连续调用,比如:

$Rult = $Conn -> Table('user') -> Select(); //查询返回user表的所有记录
$Rult = $Conn -> Table('user') -> Page(20) -> Select();//查询返回user表的所有记录,并分页显示,每页20条;

还有很多方法调用和诀窍,以后有空再慢慢细说!
  1. /*
  2. 数据库操作类
  3. 操作方式:面对对象
  4. 制作时间:2013-3-10
  5. 当前版本:BqhMysql(mysqli)1.0.1
  6. 软件作者:伤心的歌
  7. 联系QQ :36975
  8. 联系电话:18907975647
  9. 电子邮件:admin@q128.com
  10. 联系地址:江西省赣州市石城县小松镇
  11. 邮政编码:342706
  12. */
  13. class Mysql{
  14. private $LocalHost = 'localhost';
  15. private $LoaclUser = 'root';
  16. private $LocalPass = '123456';
  17. private $LocalBase = 'jiangxibaiyi';
  18. private $LocalCode = 'UTF8';
  19. private $PreFix;
  20. private $Conn;
  21. private $Start = 0;
  22. private $Error = false; //数据库连接状态, false表示未连接或连接不正常
  23. public $Err = true; //Sql执行结果
  24. private $Table;
  25. private $Field = '*';
  26. private $Where = '';
  27. private $Order = '';
  28. private $PageSize = 0; //分页显示->每页多少条,0为不分页显示
  29. private $PageCount = 1; //分页显示->总共有多少条
  30. private $PageNum = 1; //分页显示->总共有多少页
  31. private $PageNo = 1; //分页显示->当前第几页
  32. private $PageKey = 'page'; //分页url参数键
  33. private $PageStart = 0; //分页显示->当前从第几条开始返回
  34. private $Select;
  35. private $Rest;
  36. private $Result = false;//结果集
  37. public $FormArray = array();
  38. public $Instr_ID = 0;
  39. private $j = 0;
  40. public function Parameter($Loca, $Root, $Pass, $Base, $Code, $PreFix = ''){
  41. $this->LoaclUser = $Root;
  42. $this->LocalBase = $Base;
  43. $this->LocalCode = $Code;
  44. $this->LocalHost = $Loca;
  45. $this->LocalPass = $Pass;
  46. $this->PreFix = $PreFix;
  47. return $this;
  48. }
  49. private function Connection( $Sql ){
  50. !function_exists(mysqli_connect) ? die('查询失败,无法加载mysqli扩展') : null;
  51. $this->Conn = @new mysqli( $this->LocalHost, $this->LoaclUser, $this->LocalPass, $this->LocalBase);
  52. $this->Error = mysqli_connect_errno() == 0 ? true : false;
  53. !$this->Error ? die('数据库连接错误,请检查数据库连接参数') : null;
  54. $this->Conn->query('SET NAMES ' . $this->LocalCode);
  55. $this->Rest = $this->Conn->query($Sql);
  56. $this->Err = mysqli_error($this->Conn);
  57. $this->Instr_ID = mysqli_insert_id($this->Conn);
  58. $this->Rest->free_result;
  59. $this->Conn->close;
  60. $this -> FormArray = '';
  61. return $this;
  62. }
  63. public function null(){
  64. $this->PageSize = 0;
  65. //$this->PageCount = 1;
  66. $this->PageStart = 1;
  67. $this->Field = ' * ';
  68. $this->Select = '';
  69. unset($this->Table, $this->Where,$this->Order, $this->Result);
  70. }
  71. public function Table( $TableName ) {//数据表
  72. $this -> null();
  73. $this->Table = '`' . $this->PreFix . $TableName . '`';
  74. return $this;
  75. }
  76. public function Field( $Array = '*' ) {//数据字段
  77. !empty( $this->Field ) ? $this->Field = '' : null;
  78. $Array = explode(',', $Array);
  79. foreach ( $Array as $field ) {
  80. $this->Field .= !$this->Start ? '`' . $field . '`' : ', `' . $field . '`';
  81. $this->Start++;
  82. }
  83. $this->Start = 0;
  84. return $this;
  85. }
  86. public function Where( $Where ) {//条件
  87. $this->Where = ' where ' .$Where;
  88. return $this;
  89. }
  90. public function Order( $Order ) {//排序
  91. $this->Order = ' order by ' . $Order;
  92. return $this;
  93. }
  94. public function pk( $key ) {//分页url参数键
  95. $this->PageKey = $key;
  96. return $this;
  97. }
  98. public function Page( $PageSize ) {//分页
  99. $this->PageSize = $PageSize;
  100. $this->PageNo = $this->get( $this->PageKey );
  101. $this->PageNo = empty( $this->PageNo ) || !isset( $this->PageNo ) || !is_numeric( $this->PageNo ) || $this->PageNo PageNo;
  102. return $this;
  103. }
  104. public function post( $Key, $Filter = true ){
  105. return $Filter ? strip_tags($_POST[$Key]) : $_POST[$Key];
  106. }
  107. public function get( $Key, $Filter = true ){
  108. return $Filter ? strip_tags($_GET[$Key]) : $_GET[$Key];
  109. }
  110. public function Sel(){
  111. $this->Select = 'Select ' . $this->Field . ' from ' . $this->Table . $this->Where . $this->Order;
  112. $this->Connection( $this->Select );
  113. if ( $this->Rest->num_rows ) {
  114. while ( $Rs = $this->Rest->fetch_assoc() ) {
  115. $this->Result[] = $Rs;
  116. }
  117. }
  118. $DataBase = $this->Result;
  119. return empty($DataBase) ? false : $DataBase;
  120. }
  121. public function querys( $Sql = '', $Type = 'not', $biao = false ) {
  122. $this->Select = $Sql;
  123. $this->Connection( $this->Select );
  124. if ( $this->Rest->num_rows ) {
  125. if ( !$biao ) {
  126. while ( $Rs = $this->Rest->fetch_array() ) {
  127. $this->Result[] = !preg_match('/^\d+$/i', $Type) ? $Rs : $Rs[ $Type ];
  128. }
  129. } else {
  130. while ( $Rs = $this->Rest->fetch_assoc() ) {
  131. $this->Result[] = $Rs;
  132. }
  133. }
  134. }
  135. $DataBase = $this->Result;
  136. return empty($DataBase) ? false : $DataBase;
  137. }
  138. public function executes( $Sql = '' ){
  139. $this->Connection( $Sql );
  140. return $this->Rest;
  141. }
  142. public function exists( $T = '', $F = '', $W = ''){
  143. if ( empty( $F ) ) { return 0; }
  144. $cmd = empty( $W ) ? 'Select sum(' . $F . ') as `baiyinum` from `' . $this->PreFix . $T .'`' : 'Select sum(' . $F . ') as `baiyinum` from `' . $this->PreFix . $T .'` Where ' . $W;
  145. $this->Connection( $cmd );
  146. unset( $T, $F, $W, $cmd );
  147. $Rel = $this->Rest->fetch_array();
  148. return round( $Rel['baiyinum'], 2 );
  149. }
  150. public function ExistsTo( $Bili = 10000, $T = '', $F = '', $W = ''){
  151. if ( empty( $F ) ) { return 0; }
  152. $cmd = empty( $W ) ? 'Select sum(' . $F . ') as `baiyinum` from `' . $this->PreFix . $T .'`' : 'Select sum(' . $F . ') as `baiyinum` from `' . $this->PreFix . $T .'` Where ' . $W;
  153. $this->Connection( $cmd );
  154. unset( $T, $F, $W, $cmd );
  155. $Rel = $this->Rest->fetch_array();
  156. return round( $Rel['baiyinum'] * $Bili );
  157. }
  158. public function Select( $Type = true, $ListNum = 1 ){ //返回记录(数组形式, 返回条数)
  159. $this->Select = 'Select ' . $this->Field . ' from ' . $this->Table . $this->Where . $this->Order;
  160. if ( is_numeric( $ListNum ) ) {
  161. if ( $this->PageSize > 0 ) {
  162. $this->Connection( $this->Select );//执行查询
  163. $this->PageCount = $this->Rest->num_rows;//取得记录总数
  164. $this->PageNum = ceil($this->PageCount / $this->PageSize); //总共有多少页
  165. $this->PageNo = $this->PageNo > $this->PageNum ? $this->PageNum : $this->PageNo;
  166. $this->PageStart = ( $this->PageNo - 1 ) * $this->PageSize; //当前从第几条开始返回
  167. $this->Select .= ' limit ' . $this->PageStart . ', ' .$this->PageSize; //重新构造sql语句
  168. } else {
  169. $this->Select .= ' limit ' . $ListNum; //重新构造sql语句
  170. }
  171. } else {
  172. $this->Select .= ' limit 1'; //重新构造sql语句
  173. }
  174. //echo $this->Select;
  175. $this->Connection( $this->Select );//再次执行查询
  176. if ( $this->Rest->num_rows ) {//如果记录存在
  177. if ( $Type ) {
  178. while ( $Rs = $this->Rest->fetch_array() ) {
  179. $this->Result[] = $Rs;
  180. }
  181. }else{
  182. while ( $Rs = $this->Rest->fetch_assoc() ) {
  183. $this->Result[] = $Rs;
  184. }
  185. }
  186. }
  187. if ( ( $ListNum == 1 or !is_numeric( $ListNum ) ) && !$this->PageSize) { $this->Result = $this->Result[0]; }
  188. $DataBase = $this->Result;
  189. return empty($DataBase) ? false : $DataBase;
  190. }
  191. public function Num() { //返回记录总数
  192. $this->Select = 'Select ' . $this->Field . ' from ' . $this->Table . $this->Where . $this->Order;
  193. $this->Connection( $this->Select );//执行查询
  194. return $this->Rest->num_rows;//取得记录总数
  195. }
  196. public function PageNav($NumNav = false ) { //分页
  197. $Action = $this -> get('action');
  198. !empty( $Action ) or $Action = 'index';
  199. $Module = $this -> get('module');
  200. !empty( $Module ) or $Module = 'index';
  201. $NavUrl = '/' . $Module . '/' . $Action . '/' . $this -> PageKey .'/';
  202. $NaIndex = '/' . $Module . '/' . $Action;
  203. $PageHtml = "\n
    ";
  204. $PageHtml .= '' . $this->PageCount . '条记录 ' . $this->PageNo . '/' . $this->PageNum . '页 ';
  205. $this->PageNo 首页\nPageNo - 1) . "\">上一页\n";
  206. if ( $NumNav ) { $PageHtml .= $this->NumPage($NavUrl); }
  207. $this->PageNo >= $this->PageNum or $PageHtml .= "PageNo + 1) . "\">下一页\nPageNum . "\">尾页\n";
  208. $PageHtml .= "
\n";
  • return $PageHtml;
  • }
  • private function NumPage( $Can = '' ) { //数字分页
  • $NumHtml = '';
  • $First = 1;
  • $Last = $this->PageNum;
  • if ( $this->PageNum > 5 ) {
  • if ( $this->PageNo PageNum ) {
  • $First = $this->PageNo - 2;
  • $Last = $this->PageNo + 2;
  • }else{
  • $First = $this->PageNo - 4;
  • $Last = $this->PageNum;
  • }
  • }
  • if ( $First if ( $Last > $this->PageNum ) { $First = $this->PageNum - 4; $Last = $this->PageNum;}
  • for( $i = $First; $i $NumHtml .= $this->PageNo != $i ? "\n\t" . '' . $i . '' . "\n\t" : "\n\t" .'' . $i . '' . "\n\t";
  • }
  • unset($Can, $First, $i, $Last);
  • return $NumHtml;
  • }
  • public function UserPage($NumNav = false, $PageName = 'index', $Mulu = 'user' ) { //会员中心分页
  • $NavUrl = '/' . $Mulu . '/' . $PageName . '/' . $this->PageKey . '/';
  • $PageHtml = "\n
    ";
  • $PageHtml .= '' . $this->PageCount . '条记录 ' . $this->PageNo . '/' . $this->PageNum . '页 ';
  • $this->PageNo 首页\nPageNo - 1) . "\">上一页\n";
  • if ( $NumNav ) { $PageHtml .= $this->NumPage($NavUrl); }
  • $this->PageNo >= $this->PageNum or $PageHtml .= "PageNo + 1) . "\">下一页\nPageNum . "\">尾页\n";
  • $PageHtml .= "
  • \n";
  • return $PageHtml;
  • }
  • //表单处理开始
  • //判断表单时候提交
  • public function FormIs( $Keys = 'mm' ) {
  • return $_POST[ $Keys ] == 1 ? true : false;
  • }
  • //post方式获取数据
  • public function _post( $Keys = '', $TiHuan = '') {
  • $Values = strip_tags( $_POST[ $Keys ] );
  • $this->FormArray[$Keys] = empty( $Values ) ? $TiHuan : $Values;
  • return empty( $Values ) ? $TiHuan : $Values;
  • }
  • //get方法获取数据
  • public function _get( $Keys = '', $TiHuan = '') {
  • $Values = strip_tags( $_GET[ $Keys ] );
  • return empty( $Values ) ? $TiHuan : $Values;
  • }
  • //判断是否为数字并且不小于0
  • public function IsNum( $Num = 0, $Mesg = '参数必须为数字' ) {
  • if ( is_numeric( $Num ) && !empty( $Num ) && $Num >= 0 ) {
  • return $Num;
  • }else{
  • die( $Mesg );
  • }
  • }
  • //判断是否为数字并且不小于0返回True/False
  • public function NumBer( $Num = 0) {
  • return is_numeric( $Num ) && !empty( $Num ) && $Num >= 0 ? true : false;
  • }
  • //检测相关数据似乎存在
  • public function IsData($Types = true, $memg = '数据已经存在' ){
  • $this->Connection('select ' . $this->Field . ' from ' . $this->Table . $this->Where);
  • if ( $Types ){
  • $this->Rest->num_rows > 0 ? die( $memg ) : null;
  • } else {
  • return $this->Rest->num_rows;
  • }
  • }
  • //写入数据库记录
  • public function into( $Mesg = '' ){
  • !is_array( $this->FormArray ) ? die( $Mesg ) : null;
  • $Sql = 'insert into ' . $this->Table . ' (`';
  • $I = 0;
  • foreach ( $this->FormArray as $Key => $Val ){
  • $Duan .= !$I ? $Key . '`' : ', `' . $Key . '`';
  • if ( is_numeric( $Val ) ){
  • $Vals .= !$I ? $Val : ', ' . $Val;
  • }else{
  • $Vals .= !$I ? '\'' . $Val . '\'' : ', \'' . $Val . '\'';
  • }
  • $I++;
  • }
  • $Sql .= $Duan . ') values (' . $Vals . ')';
  • //@file_put_contents('1.sql', $Sql, FILE_APPEND);
  • $this->Connection( $Sql );
  • return !empty( $this->Err ) ? false : true;
  • }
  • //数组形式写入数据
  • public function MsgBox( $Table = '', $Filed = array() ) {
  • $this -> Table($Table);
  • foreach( $Filed as $Key => $Val ) {
  • $this -> FormArray[ $Key ] = $Val;
  • }
  • return $this -> Into('未取得数据');
  • }
  • //修改数据库记录
  • public function Edit( $Array = array() ) {
  • if ( empty( $Array ) ) { $Array = $this -> FormArray; }
  • if ( !is_array( $Array ) || empty( $Array ) ) {
  • return false;
  • } else {
  • $Sql = 'update ' . $this -> Table . ' set ';
  • $I = 0;
  • $Sub = '';
  • $Huan = array('-' => '[jian]', '+' => '[jia]', '*' => '[cheng]', '/' => '[chu]');
  • $Zhan = array('[jian]' => '-', '[jia]' => '+', '[cheng]' => '*', '[chu]' => '/');
  • foreach ( $Array as $Files => $Val ) {
  • $Val = !is_numeric( $Val ) && !preg_match('/\`\w+\`\s*(\+|\-|\*|\/)/i', $Val) ? '\'' . $Val . '\'' : $Val;
  • foreach ( $Huan as $key => $val ){
  • $Val = str_replace($key, $val, $Val);
  • }
  • $duan = !$I ? '`' . $Files . '` = ' : ', `' . $Files . '` = ';
  • $Sub .= $duan . $Val;
  • $I++;
  • }
  • $Sql .= $Sub . $this -> Where;
  • foreach ( $Zhan as $Fan => $Hui ) {
  • $Sql = str_replace($Fan, $Hui, $Sql);
  • }
  • //echo $Sql; die;
  • $this -> Connection( $Sql );
  • unset( $Array, $duan, $Fan, $Files, $Huan, $Hui, $I, $key, $Sql, $Sub, $Val, $Zhan, $val );
  • return !empty( $this -> Err ) ? false : true;
  • }
  • }
  • //删除数据库记录
  • public function del(){
  • $Sql = 'delete from ' . $this->Table . $this->Where;
  • $this->Connection( $Sql );
  • unset($Sql);
  • return !empty( $this->Err ) ? false : true;
  • }
  • //表单处理结束
  • //页面跳转
  • public function Msg( $Text = '操作成功' ) {
  • echo '';
  • echo '';
  • exit;
  • }
  • #取得系统当前时间
  • public function Times(){
  • return str_replace('-', '[jian]', date('Y-m-d H:i:s'));
  • }
  • #取得用户IP地址
  • public function GetIP(){
  • if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown"))
  • $ip = getenv("HTTP_CLIENT_IP");
  • else if (getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown"))
  • $ip = getenv("HTTP_X_FORWARDED_FOR");
  • else if (getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown"))
  • $ip = getenv("REMOTE_ADDR");
  • else if (isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], "unknown"))
  • $ip = $_SERVER['REMOTE_ADDR'];
  • else
  • $ip = "unknown";
  • return($ip);
  • }
  • //最后关闭数据库连接
  • public function Close(){
  • !is_object( $this -> Conn ) or mysqli_close( $this -> Conn );
  • }
  • }
  • 复制代码


    Kenyataan
    Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
    Apakah beberapa masalah biasa yang boleh menyebabkan sesi PHP gagal?Apakah beberapa masalah biasa yang boleh menyebabkan sesi PHP gagal?Apr 25, 2025 am 12:16 AM

    Sebab -sebab kegagalan phpsession termasuk kesilapan konfigurasi, isu cookie, dan tamat tempoh sesi. 1. Ralat Konfigurasi: Semak dan tetapkan session.save_path yang betul. Masalah 2.Cookie: Pastikan kuki ditetapkan dengan betul. 3.Session Expires: Laraskan Nilai Sesi.GC_MAXLifetime untuk melanjutkan masa sesi.

    Bagaimanakah anda menyebarkan isu berkaitan sesi dalam PHP?Bagaimanakah anda menyebarkan isu berkaitan sesi dalam PHP?Apr 25, 2025 am 12:12 AM

    Kaedah untuk masalah sesi debug dalam PHP termasuk: 1. Periksa sama ada sesi dimulakan dengan betul; 2. Sahkan penghantaran ID sesi; 3. Semak penyimpanan dan bacaan data sesi; 4. Semak konfigurasi pelayan. Dengan mengeluarkan ID dan data sesi, melihat kandungan fail sesi, dan lain-lain, anda boleh mendiagnosis dan menyelesaikan masalah yang berkaitan dengan sesi.

    Apa yang berlaku jika session_start () dipanggil beberapa kali?Apa yang berlaku jika session_start () dipanggil beberapa kali?Apr 25, 2025 am 12:06 AM

    Pelbagai panggilan ke session_start () akan menghasilkan mesej amaran dan kemungkinan penggantian data. 1) PHP akan mengeluarkan amaran, menyebabkan sesi telah dimulakan. 2) Ia boleh menyebabkan penggantian data sesi yang tidak dijangka. 3) Gunakan session_status () untuk memeriksa status sesi untuk mengelakkan panggilan berulang.

    Bagaimana anda mengkonfigurasi seumur hidup sesi di PHP?Bagaimana anda mengkonfigurasi seumur hidup sesi di PHP?Apr 25, 2025 am 12:05 AM

    Mengkonfigurasi kitaran hayat sesi dalam PHP boleh dicapai dengan menetapkan sesi.gc_maxlifetime dan session.cookie_lifetime. 1) session.gc_maxlifetime mengawal masa survival data sesi pelayan, 2) session.cookie_lifetime mengawal kitaran hayat kuki klien. Apabila ditetapkan ke 0, kuki tamat apabila penyemak imbas ditutup.

    Apakah kelebihan menggunakan pangkalan data untuk menyimpan sesi?Apakah kelebihan menggunakan pangkalan data untuk menyimpan sesi?Apr 24, 2025 am 12:16 AM

    Kelebihan utama menggunakan sesi penyimpanan pangkalan data termasuk kegigihan, skalabilitas, dan keselamatan. 1. Kegigihan: Walaupun pelayan dimulakan semula, data sesi tidak dapat berubah. 2. Skalabiliti: Berkenaan dengan sistem yang diedarkan, memastikan data sesi disegerakkan di antara pelbagai pelayan. 3. Keselamatan: Pangkalan data menyediakan storan yang disulitkan untuk melindungi maklumat sensitif.

    Bagaimana anda melaksanakan pengendalian sesi tersuai di PHP?Bagaimana anda melaksanakan pengendalian sesi tersuai di PHP?Apr 24, 2025 am 12:16 AM

    Melaksanakan pemprosesan sesi tersuai dalam PHP boleh dilakukan dengan melaksanakan antara muka sessionHandlerInterface. Langkah -langkah khusus termasuk: 1) mewujudkan kelas yang melaksanakan sessionHandlerInterface, seperti CustomSessionHandler; 2) kaedah penulisan semula dalam antara muka (seperti terbuka, rapat, membaca, menulis, memusnahkan, gc) untuk menentukan kitaran hayat dan kaedah penyimpanan data sesi; 3) Daftar pemproses sesi tersuai dalam skrip PHP dan mulakan sesi. Ini membolehkan data disimpan dalam media seperti MySQL dan REDIS untuk meningkatkan prestasi, keselamatan dan skalabiliti.

    Apakah ID Sesi?Apakah ID Sesi?Apr 24, 2025 am 12:13 AM

    SesionID adalah mekanisme yang digunakan dalam aplikasi web untuk mengesan status sesi pengguna. 1. Ia adalah rentetan yang dijana secara rawak yang digunakan untuk mengekalkan maklumat identiti pengguna semasa pelbagai interaksi antara pengguna dan pelayan. 2. Pelayan menjana dan menghantarnya kepada klien melalui kuki atau parameter URL untuk membantu mengenal pasti dan mengaitkan permintaan ini dalam pelbagai permintaan pengguna. 3. Generasi biasanya menggunakan algoritma rawak untuk memastikan keunikan dan ketidakpastian. 4. Dalam pembangunan sebenar, pangkalan data dalam memori seperti REDIS boleh digunakan untuk menyimpan data sesi untuk meningkatkan prestasi dan keselamatan.

    Bagaimanakah anda mengendalikan sesi dalam persekitaran tanpa kerakyatan (mis., API)?Bagaimanakah anda mengendalikan sesi dalam persekitaran tanpa kerakyatan (mis., API)?Apr 24, 2025 am 12:12 AM

    Menguruskan sesi dalam persekitaran tanpa kerakyatan seperti API boleh dicapai dengan menggunakan JWT atau cookies. 1. JWT sesuai untuk ketiadaan dan skalabilitas, tetapi ia adalah saiz yang besar ketika datang ke data besar. 2.Cookies lebih tradisional dan mudah dilaksanakan, tetapi mereka perlu dikonfigurasikan dengan berhati -hati untuk memastikan keselamatan.

    See all articles

    Alat AI Hot

    Undresser.AI Undress

    Undresser.AI Undress

    Apl berkuasa AI untuk mencipta foto bogel yang realistik

    AI Clothes Remover

    AI Clothes Remover

    Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

    Undress AI Tool

    Undress AI Tool

    Gambar buka pakaian secara percuma

    Clothoff.io

    Clothoff.io

    Penyingkiran pakaian AI

    Video Face Swap

    Video Face Swap

    Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

    Alat panas

    SublimeText3 versi Inggeris

    SublimeText3 versi Inggeris

    Disyorkan: Versi Win, menyokong gesaan kod!

    ZendStudio 13.5.1 Mac

    ZendStudio 13.5.1 Mac

    Persekitaran pembangunan bersepadu PHP yang berkuasa

    MinGW - GNU Minimalis untuk Windows

    MinGW - GNU Minimalis untuk Windows

    Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

    Penyesuai Pelayan SAP NetWeaver untuk Eclipse

    Penyesuai Pelayan SAP NetWeaver untuk Eclipse

    Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.

    Muat turun versi mac editor Atom

    Muat turun versi mac editor Atom

    Editor sumber terbuka yang paling popular