mysql

  • C# 使用 MySql.Data.dll 連結資料庫會有中文亂碼問題,主要是沒有連結字串內設定UTF-8。

    只要將下列連結方式加入charset=utf8就可解決,C# 寫入mysql資料庫,就不會有亂碼如"????"的字符產生

    將下行加入charset=utf8;

    string myConnectionString = "server =192.168.xxx.xxx; Database=mydb;User Id=admin;Password=admin;charset=utf8;";

    完整連結方式:

    string myConnectionString = "server =192.168.xxx.xxx; Database=mydb;User Id=admin;Password=admin;charset=utf8;";
    MySqlConnection DBConn = new MySqlConnection(myConnectionString);
    DBConn.Open();
    MySqlCommand cmd = new MySqlCommand("Insert into n5y91_hrsystem_schedule_test (xxx) values ('" + value +"')", DBConn);
    try
    {
        cmd.ExecuteNonQuery();
    }
        catch (Exception ex)
    {
        Console.WriteLine(ex.Message);
    }
  • MySQL一般情況下都是在主機上,使用root帳號密碼localhost做連結,如您使用root去遠端連結可能會出現"Host xxx is not allowed to connect to this MySQL server"這樣的錯誤訊息。需要遠端如IP去連結MySQL,你的主機開啟防火牆MySQL預設3306 Port,還有一組不屬於localhost端的帳號,預設root只能在localhost做連結。

    以下圖中,在phpmyadmin設定一組帳號密碼,做為可以遠端連線的帳號,主機選擇"任意主機"%,全域權限全選。

  • 獲取最後插入ID

    要獲取最後插入的行的ID,可以insertid()像這樣使用:

    $db->insertid();

    您可以在下一個查詢中的任何位置使用

  • 錯誤描述如下:

    Error Code: 1175. You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column To disable safe mode, toggle the option in Preferences -> SQL Editor and reconnect.

    主要因為要updata或刪除資料時會有安全模式保護,必須在指令前加入以下設定開啟。

    SET SQL_SAFE_UPDATES = 0;

  • 這邊使用的是Windows主機安裝Xampp架設的Web Server環境,然而在其他的系統沒有嘗試使用過。

    php sqlsrv安裝

    1. 首先安裝好xampp。這邊使用的版本為PHP 5.6.15。若想知道自己的php版本可以使用以下php函數方式查看。

      <?php
          phpinfo();
      ?>

  • sqlimages

    如上述資料,我們分別要找出S001,亂馬客,2010/04/01、S002,造雨人,2010/03/01及S003,阿光,2010/05/01的資料! 因為要最大值,所以使用GROUP+MAX函式來處理!實際操作應用方法如下:

  • 雖然這篇叫Docker環境搭建,但是是用了一個別人寫好的配置文件,為什麼要用別人寫好的呢?因為第一節省了我們學習的成本,類似一鍵安裝環境的東西。二節省了我們的構造docker和測試docker的時間。三也省略了我們在去寫額外的服務器配置。

    這裡我選用LaraDock,因為它的容器多,不僅僅用來作web服務器。 LaraDock官網

  • sql要複製某個資料表有二步驟,首先要先建立一個新的資料表,之後把原本的資料新增到剛建立的新資料表

    建立新資料表 Create Table

    CREATE TABLE new_table LIKE old_db.old_table;

    複製資料 Copy Table

    INSERT new_table SELECT * FROM old_db.old_table;
  • 以下有兩種方法分別為mysqli_query與mysql_query連結資料庫的方式,然後使用json_encode()將資料庫轉為json資料格式呈現在網頁上。

    MySQL json_encode()中文字空白頁面、問號符號、亂碼

    主要嘗試抓取mysql資料碰到的大問題就是中文資料問題,一開始抓取資料,我使用的是自行用架設的XAMPP Server做測試,結果抓取資料時我一次SELECT * 所有的欄位,然後json_edcode(),結果頁面完全沒有任何的東西,空白頁面,測試之後SELECT 其中欄位,只有數值或英文的表單欄位,正常顯示。結果SELECT有中文欄位資料,就發現是空白頁面,大致上可以了解是中文json_encode()時無法出現。