Heim Backend-Entwicklung PHP-Tutorial 分享一个自己写的php操作mysql数据库的类

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

Jul 25, 2016 am 08:48 AM

这是我自己写的一个类,欢迎大家讨论指导
部分使用方法:
//声明数据库对象
$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 );
  • }
  • }
  • 复制代码


    Erklärung dieser Website
    Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

    Heiße KI -Werkzeuge

    Undresser.AI Undress

    Undresser.AI Undress

    KI-gestützte App zum Erstellen realistischer Aktfotos

    AI Clothes Remover

    AI Clothes Remover

    Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

    Undress AI Tool

    Undress AI Tool

    Ausziehbilder kostenlos

    Clothoff.io

    Clothoff.io

    KI-Kleiderentferner

    Video Face Swap

    Video Face Swap

    Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

    Heiße Werkzeuge

    Notepad++7.3.1

    Notepad++7.3.1

    Einfach zu bedienender und kostenloser Code-Editor

    SublimeText3 chinesische Version

    SublimeText3 chinesische Version

    Chinesische Version, sehr einfach zu bedienen

    Senden Sie Studio 13.0.1

    Senden Sie Studio 13.0.1

    Leistungsstarke integrierte PHP-Entwicklungsumgebung

    Dreamweaver CS6

    Dreamweaver CS6

    Visuelle Webentwicklungstools

    SublimeText3 Mac-Version

    SublimeText3 Mac-Version

    Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

    Heiße Themen

    Java-Tutorial
    1664
    14
    PHP-Tutorial
    1268
    29
    C#-Tutorial
    1243
    24
    PHP und Python: Vergleich von zwei beliebten Programmiersprachen PHP und Python: Vergleich von zwei beliebten Programmiersprachen Apr 14, 2025 am 12:13 AM

    PHP und Python haben jeweils ihre eigenen Vorteile und wählen nach den Projektanforderungen. 1.PHP ist für die Webentwicklung geeignet, insbesondere für die schnelle Entwicklung und Wartung von Websites. 2. Python eignet sich für Datenwissenschaft, maschinelles Lernen und künstliche Intelligenz mit prägnanter Syntax und für Anfänger.

    PHP in Aktion: Beispiele und Anwendungen in realer Welt PHP in Aktion: Beispiele und Anwendungen in realer Welt Apr 14, 2025 am 12:19 AM

    PHP wird in E-Commerce, Content Management Systems und API-Entwicklung häufig verwendet. 1) E-Commerce: Wird für die Einkaufswagenfunktion und Zahlungsabwicklung verwendet. 2) Content -Management -System: Wird für die Erzeugung der dynamischen Inhalte und die Benutzerverwaltung verwendet. 3) API -Entwicklung: Wird für die erholsame API -Entwicklung und die API -Sicherheit verwendet. Durch Leistungsoptimierung und Best Practices werden die Effizienz und Wartbarkeit von PHP -Anwendungen verbessert.

    Erklären Sie sicheres Kennwort -Hashing in PHP (z. B. password_hash, password_verify). Warum nicht MD5 oder SHA1 verwenden? Erklären Sie sicheres Kennwort -Hashing in PHP (z. B. password_hash, password_verify). Warum nicht MD5 oder SHA1 verwenden? Apr 17, 2025 am 12:06 AM

    In PHP sollten die Funktionen für Passwort_Hash und passwart_verify verwendet werden, um sicheres Passwort -Hashing zu implementieren, und MD5 oder SHA1 sollte nicht verwendet werden. 1) Passwort_hash generiert einen Hash, der Salzwerte enthält, um die Sicherheit zu verbessern. 2) Passwort_Verify prüfen Sie das Passwort und sicherstellen Sie die Sicherheit, indem Sie die Hash -Werte vergleichen. 3) MD5 und SHA1 sind anfällig und fehlen Salzwerte und sind nicht für die Sicherheit der modernen Passwort geeignet.

    Erklären Sie den Unterschied zwischen Selbst ::, Parent :: und static :: in Php OOP. Erklären Sie den Unterschied zwischen Selbst ::, Parent :: und static :: in Php OOP. Apr 09, 2025 am 12:04 AM

    In Phpoop bezieht sich Self :: auf die aktuelle Klasse, Eltern :: Bezieht sich auf die Elternklasse, static :: wird für die späte statische Bindung verwendet. 1.self :: wird für statische Methoden und konstante Aufrufe verwendet, unterstützt jedoch keine späte statische Bindung. 2.PARENT :: wird für Unterklassen verwendet, um übergeordnete Klassenmethoden aufzurufen, und auf private Methoden können nicht zugegriffen werden. 3.Static :: unterstützt die verspätete statische Bindung, geeignet für Vererbung und Polymorphismus, kann jedoch die Lesbarkeit des Codes beeinflussen.

    PHP: Eine Schlüsselsprache für die Webentwicklung PHP: Eine Schlüsselsprache für die Webentwicklung Apr 13, 2025 am 12:08 AM

    PHP ist eine Skriptsprache, die auf der Serverseite weit verbreitet ist und insbesondere für die Webentwicklung geeignet ist. 1.PHP kann HTML einbetten, HTTP -Anforderungen und Antworten verarbeiten und eine Vielzahl von Datenbanken unterstützt. 2.PHP wird verwendet, um dynamische Webinhalte, Prozessformdaten, Zugriffsdatenbanken usw. mit starker Community -Unterstützung und Open -Source -Ressourcen zu generieren. 3. PHP ist eine interpretierte Sprache, und der Ausführungsprozess umfasst lexikalische Analyse, grammatikalische Analyse, Zusammenstellung und Ausführung. 4.PHP kann mit MySQL für erweiterte Anwendungen wie Benutzerregistrierungssysteme kombiniert werden. 5. Beim Debuggen von PHP können Sie Funktionen wie error_reporting () und var_dump () verwenden. 6. Optimieren Sie den PHP-Code, um Caching-Mechanismen zu verwenden, Datenbankabfragen zu optimieren und integrierte Funktionen zu verwenden. 7

    Was sind HTTP -Anforderungsmethoden (erhalten, posten, setzen, löschen usw.) und wann sollte jeder verwendet werden? Was sind HTTP -Anforderungsmethoden (erhalten, posten, setzen, löschen usw.) und wann sollte jeder verwendet werden? Apr 09, 2025 am 12:09 AM

    Zu den HTTP -Anforderungsmethoden gehören GET, Post, Put und Löschen, mit denen Ressourcen erhalten, übermittelt, aktualisiert und gelöscht werden. 1. Die GET -Methode wird verwendet, um Ressourcen zu erhalten, und eignet sich für Lesevorgänge. 2. Die Post -Methode wird verwendet, um Daten zu übermitteln und häufig neue Ressourcen zu erstellen. 3. Die Put -Methode wird zum Aktualisieren von Ressourcen verwendet und eignet sich für vollständige Updates. V.

    Wie kann PHP -Datei sicher sicher hochladen? Wie kann PHP -Datei sicher sicher hochladen? Apr 10, 2025 am 09:37 AM

    PHP überlädt Datei -Hochladen über die Variable $ \ _ Dateien. Zu den Methoden zur Sicherstellung gehören: 1. Upload -Fehler, 2. Dateityp und -größe überprüfen, 3.. Dateiüberschreibung verhindern, 4. Verschieben von Dateien auf einen dauerhaften Speicherort.

    Wie funktioniert der Php -Typ -Hinweis, einschließlich Skalartypen, Rückgabetypen, Gewerkschaftstypen und nullbaren Typen? Wie funktioniert der Php -Typ -Hinweis, einschließlich Skalartypen, Rückgabetypen, Gewerkschaftstypen und nullbaren Typen? Apr 17, 2025 am 12:25 AM

    PHP -Typ -Eingabeaufforderungen zur Verbesserung der Codequalität und der Lesbarkeit. 1) Tipps zum Skalartyp: Da Php7.0 in den Funktionsparametern wie int, float usw. angegeben werden dürfen. 3) Eingabeaufforderung für Gewerkschaftstyp: Da Php8.0 in Funktionsparametern oder Rückgabetypen angegeben werden dürfen. 4) Nullierstyp Eingabeaufforderung: Ermöglicht die Einbeziehung von Nullwerten und Handlungsfunktionen, die Nullwerte zurückgeben können.

    See all articles