發表文章

目前顯示的是 3月, 2018的文章

[MySQL] auto_increment 自動編號歸零 重新計算

想要將auto_increment 歸零的方法如下: alter table tablename AUTO_INCREMENT=4; //tablename是你的資料表名稱 //數字是代表你要從哪邊開始接著新增 如最後一筆是4 新增的想要讓他變成5就打上4 終極毀滅指令,刪除表單資料及歸零 truncate table tablename

[PHP] 正規表達式 過濾特殊符號 / 過濾非字母數字的字元 / 過濾字母數字

如果應用程式是開放給公眾使用, 過濾輸入資料的字元十分重要, 在 PHP 可以透過正規表達式做特定字元的檢查及過濾。 過濾非字母/數字字元,取英文數字 <?php  $input = "this is a %%%&&& apple";  $cleaned = preg_replace("/[^A-Za-z0-9 ]/", "", $input);  echo $cleaned; ?> 輸出 this is a apple 過濾字母/數字字元,取特殊自元 <?php $input = "this is a %%%&&& apple"; $cleaned = preg_replace("/[A-Za-z0-9 ]/", "", $search); echo $cleaned; ?> 輸出 %%%&&& 過濾特殊自元,取中文英文數字 <?php  $input = "this is a %%%&&& 帥哥";  $cleaned = preg_replace("[^A-Za-z0-9 \p{Han}]+/u", "", $input);  echo $cleaned; ?> 輸出 this is a 帥哥 中間的 {Han} 表示中文字的意思。(記得行尾的 u,表示 unicode ) 這樣子就可以 match 所有中文字,或是排除中文字等等。 參考網址: PCRE參考 參考網址1

[Laravel] Laravel 出現 SQLSTATE[42000] Syntax error or access violation 解法

圖片
今天使用MySQL出現SQLSTATE[42000]: Syntax error or access violation,這是因為 SQL_MODE 的限制,修正方式如下: 找到config/database.php,並將 strict 改成False 就可以了 'mysql' => [     'driver' => 'mysql',     'host' => env('DB_HOST', 'localhost'),     'port' => env('DB_PORT', '3306'),     'database' => env('DB_DATABASE', 'forge'),     'username' => env('DB_USERNAME', 'forge'),     'password' => env('DB_PASSWORD', ''),     'charset' => 'utf8',     'collation' => 'utf8_unicode_ci',     'prefix' => '',     'strict' => false,     'engine' => null, ]

[Laravel] Laravel 5.5 教你修改Auth認證失敗跳轉位置

圖片
從5.3開始,未認證跳轉的判斷搬到了app\Exceptions\Handler.php中處理。今天使用5.5,發現unauthenticated方法不見了,自己加還會有衝突,不過沒關係,5.5是搬家到了vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php中,修改方式如下: 加入下段程式碼即可    /**      * Convert an authentication exception into an unauthenticated response.      *      * @param  \Illuminate\Http\Request  $request      * @param  \Illuminate\Auth\AuthenticationException  $exception      * @return \Illuminate\Http\Response      */     protected function unauthenticated($request, AuthenticationException $exception)     {         if ($request->expectsJson()) {             return response()->json(['error' => 'Unauthenticated.'], 401);         }         return redirect()->guest(route('admin.login'));     }

[Laravel] 教你如何取得 Query Builder 或 Eloquent ORM 生成的 SQL 語法

圖片
想要查看Laravel生成的SQL語法嗎?跟著我一起做就可以了 步驟如下: 先引入DB檔  use Illuminate\Support\Facades\DB; 首先要開啟記錄 DB::connection()->enableQueryLog(); 資料庫查詢 $articles = DB::table('articles') ->where('articles.id', 'some_id')->get(); 使用 DB::getQueryLog(),為記錄下來的 sql 語法,這邊直接用 dd() 印出 dd(DB::getQueryLog()); 完成 Laravel官方說明

[MySQL] Centos6.x 解決 MySQL啟動失敗ERROR! MySQL is not running, but lock file (/var/lock/subsys/mysql)

不論是啟用service mysql start或是重啟 service mysql restart都會出現 ERROR! MySQL is not running, but lock file (/var/lock/subsys/mysql)怎麼辦?以下是我的解決方法: 環境: Centos6.7 MariaDB 解決方法: 1.先輸入service mysql status,由於執行失敗,service mysql status會顯示錯誤引導你 service mysql status 2.系統顯示MySQL is not running, but lock file (/var/lock/subsys/mysql),這時候先將這個檔案刪掉試試,輸入 rm var/lock/subsys/mysql 3.在嘗試service mysql restart 4.若還是無法啟用,輸入ps -ef | grep mysql查看process,會看到mysql的process,記住 PID ps -ef | grep mysql 5.輸入sudo kill -9 PID ,-9是強制刪除,指定mysql的PID,刪除process sudo kill -9 PID 6.最後再重啟一次,就行了

[MySQL] 解決 MYSQL MariaDB 登入出現 ERROR 1045 (28000) using password: NO

今天在Linux中輸入指令mysql要進入MariaDB時,卻出現 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)的問題,這邊說明我自己的解決方式 環境: Centos6.7 MariaDB 解決方法: 輸入 /usr/bin/mysql_secure_installation初始化 /usr/bin/mysql_secure_installation 接著依序輸入 第一個問題,Enter current password for root (enter for none):。 請直接按下Enter,因為預設MariaDB沒有密碼。 第二個問題,Change the root password? [Y/n]。 是否更改root密碼,極度建議您設定root密碼,請輸入Y。 第三個問題,Remove anonymous users? [Y/n]。 是否移除匿名帳號,請務必移除匿名帳號,否則別人隨便就可以進入您的資料庫了! 第四個問題,Disallow root login remotely? [Y/n]。 是否移除遠端root登入權限,視需求設定,若要允許root遠端登入, 第五個問題,Remove test database and access to it? [Y/n]。 是否移除測試資料庫跟使用者,留著也沒用!移除請輸入Y。 第六個問題,Reload privilege tables now? [Y/n]。 是否刷新權限表,輸入Y完成所有初始化設定! 在嘗試進入一次,輸入 sudo mysql -u root -p 進入,就可以進囉 sudo mysql -u root -p

[Laravel] Laravel5.5 出現The page has expired due to inactivity 怎麼辦?

圖片
送出表單時,出現 The page has expired due to inactivity. Please refresh and try again 怎麼辦? 別慌張,因為您的表單沒加入csrf token,加入即可,以下為範例: 在您的form底下,加入這一段 <input type="hidden" name="_token" value="{{ csrf_token() }}"> 完成,是不是很簡單就解決了呢!

[VS] visual studio 2017 輸出類型為類別庫的專案無法直接起始 解決方法

圖片
今天第一次嘗試寫ASP.NET時竟然遇到了輸出類型為類別庫的錯誤訊息,以下是解決方法: 在"專案(P)"->"設定為啟始專案(A)",重新"開始偵錯(F5)"即可解決。

[Laravel] 教你如何使用Eloquent 批量insert

圖片
教你如何使用Eloquent做批量insert 假設要新增的資料為 $data = [   ['name' => 'John', 'age' => 25],   ['name' => 'Maria', 'age' => 31],   ['name' => 'Julia', 'age' => 55], ]; 使用insert或query builder都行 Model::insert($data); DB::table('table_name')->insert($data);

[MySQL] 深入 MySQL INSERT ... ON DUPLICATE KEY UPDATE 語法

必要條件   資料表中必須有 PRIMARY或UNIQUE的索引   INSERT時須帶入1. 欄位的資料 使用情境 一般我們在做資料新增時會先檢查資料是否存在,都會使用下列語法 IF(SELECT * FROM table WHERE id= '1')   UPDATE table SET a= a+ 1 WHERE id= '1'; ELSE   INSERT INTO table (id, a) VALUES (2, 1); 可以改成 INSERT INTO table (id, a) VALUES (2, 1) ON DUPLICATE KEY UPDATE a= a+ 1; Mysql會自動判斷該主鍵是否重覆,如果重覆就會叫用後面的 UPDATE 多行資料處理 若是用批量新增,則可以在ON DUPLICATE KEY UPDATE 後用VALUES,以下範例: a為UNIQUE,並且資料存在 (2,1,1) 和 (1,3,3),因為a已存在,所以會將(1,3,3)更新至(1,2,3), (2,1,1)更新至 (2,5,1) ,其餘則插入新紀錄 INSERT INTO TABLE (a,b,c) VALUES  (1,2,3),  (2,5,7),  (3,3,6),  (4,8,2)  ON DUPLICATE KEY UPDATE b=VALUES( b) 注意:ON DUPLICATE KEY UPDATE 為MySQL特有語法,並不是SQL標準語法 參考資料:    MySQL官方文件

[小工具] 簡報程式碼還是複製貼上醜醜的英文嗎? 簡單工具幫你變得美美的

圖片
簡報程式碼還是複製貼上醜醜的英文嗎? 簡單工具幫你變得美美的 在製作簡報時,程式碼的呈現方式讓我非常的頭痛,一大串醜醜的英文看起來就非常不舒服,這邊介紹一個小工具,1秒幫你輸出漂亮的程式碼 工具介紹 Carbon 使用方法 在框框地方輸入程式碼後,按下Save Image就可以輸出圖片了,是不是很方便呢!!!

[Blogger小知識] 簡單4步驟教你在部落格中嵌入漂亮程式碼

圖片
工具介紹 google code prettify 簡單4步驟: 1.進入版面設置後,點選新增小工具  2.選擇小工具 HTML/JavaScript 3.在內容輸入 <script src="https://cdn.rawgit.com/google/code-prettify/master/loader/run_prettify.js"></script> ,注意script標籤一定要加 4.要美化的程式碼用 <pre class="prettyprint">...</pre>  或  <code class="prettyprint">...</code> 包起來 恭喜完成囉!! 備註: 如果要顯示行數的話,加入<pre class="prettyprint linenums">即可,也可以設定第一行從幾號開始唷,例如:<pre class="prettyprint linenums:4">就是從第4行開始計算。

[手機小知識] 教你如何移除Google帳戶

圖片
如何移除 Google 帳戶? Android OS 7.0 (Nougat)、Android OS 6.0 (Mashmallow) 和 Galaxy J5 (2016) 用戶,如需移除 Google 帳戶,請參考以下步驟。 Android OS 7.0 (Nougat) 1. 在應用程式螢幕,按 設定 2. 按 雲端與帳戶 3. 按 帳戶 4. 按 Google 5. 按右上角的 圖示 6. 按 移除帳戶 7. 再按 移除帳戶 ,確定將帳戶移除 Android OS 6.0 (Mashmallow) 1. 在首頁,按 Apps 或 應用程式 2. 按 設定 3. 按 帳戶 4. 按 Google 5. 按右上角的 更多 6. 按 移除帳戶 7. 再按 移除帳戶 ,確定將帳戶移除 Galaxy J5 (2016) 1. 在首頁,按 應用程式 2. 按 設定 3. 按 帳戶 4. 按 Google 5. 點選您的 Gmail 帳戶 6. 按 更多 7. 按 移除帳戶 8. 再按 移除帳戶,確定將帳戶移除  註: 1.      當 Google 帳戶已在裝置上註冊時,Google FRP 將會自動開啟。 2.      當 Google 帳戶在裝置上移除時,Google FRP 將會自動關閉。 參考:   samsung.com