How to fixed HeidiSQL message : Cannot find a usable libmysql.dll

Here is the dialog problem’s notification when you download an executable one of HeidiSQL client and try  to connect to MySQL server without  the properly setting environment.

Untitled

You can fixed this problem by set the path for MS Windows’s environment to  libmysql.dll for your PATH. Here are the steps.

  1. Press  [windows btn] + R   to open Run dialog , then type the following command into the text box
    sysdm.cpl ,3
  2. On the advance tab press  [ Environment Variables ]  button . You will found the environment dialog then add the folder where you place libmysql.dll  at the end of the line like this , ( depends on your environment)
    UntitledIf you have not libmysql.dll in your machine , download it Here
  3. Try to run it again . Hope this help !

การคิวรี่ข้อมูลแบบ buffered และ unbuffered ของ MySQL ใน PHP

เมื่อทำการคิวรี่ข้อมูลใน mysql มันจะทำในลักษณะ buffer เป็นหลัก ข้อดีของวิธีการทำแบบนี้คือ ผลลัพธ์จากการคิวรี่จะถูกส่งจาก MySQL Server ไปยัง PHP และเก็บไว้ใน memory ของ PHP process ซึ่งทำให้สามารถทำ Operation หลายๆ อย่างได้ เช่น นับจำนวนแถว ย้าย pointer ของ current result นอกจากนี้ยังทำให้สามารถคิวรี่ข้อมูลต่อไปได้โดยใช้คอนเนคชั่นเดิม ขณะที่ยังทำงานบน result set ได้ ข้อเสียคือ ยิ่งขนาดของ result set ใหญ่เท่าไหร่ มันก็ต้องใช้หน่วยความจำมากขึ้นไปเท่านั้น หน่วยความจำจะถูกใช่้งานต่อไปจนกว่าทุก ๆ การอ้างถึงของของ result set นั้นจะถูกยกเลิก หรือ บังคับให้ฟรีหน่วยความจำ (จะทำโดยอัตโนมัติ ระหว่างรีเควสจบตัวสุดท้าย) คำว่า “store result” ใช้แทนโหมดนี้ เนื่องจากผลลัพธ์ทั้งหมดของ result set นั้นถูกเก็บไว้

Continue reading “การคิวรี่ข้อมูลแบบ buffered และ unbuffered ของ MySQL ใน PHP”

แท็กและแอตทริบิวต์ HTML ที่เราควรงดและหันมาใช้ CSS แทน

การใช้ CSS นั้นมีวัตถุประสงค์เพื่อทำให้การเขียน HTML นั้นอยู่ในรูปแบบที่ง่ายที่สุดครับ นั่นหมายถึงเราไม่ควรใช้แท็กแอตทริบิวต์ต่างของ HTML อย่างฟุ่มเฟือย โดยให้ HTML นั้นให้ความหมายกับข้อความให้มากที่สุดส่วนการแสดงผลนั้น ให้ยกเป็นหน้าที่ของ CSS กันดีกว่า มาดูกันว่า แท็กหรือแอตทริบิวต์อะไรบ้างที่เราควรงดใช้กันครับ

  • งดใช้ <font> เพื่อควบคุมการแสดงผลของตัวอักษร
  • งดใช้ <b> หรือ <i>  เพื่อควบคุมความหนาและความเอียงของตัวอักษร
  • งดใช้ <table> สำหรับกำหนดโครงสร้างของหน้าเว็ป ให้เราใช้เพื่อแสดงข้อมูลที่เป็นตารางจริงๆ ครับ เช่น ตารางคะแนน ตารางข้อมูล เป็นต้น
  • งดใช้แอตทริบิวต์ ของ <body> เพื่อกำหนดการแสดงผลของหน้าเพจ
  • อย่าใช้ <br> ฟุ่มเฟือยเพื่อสร้างบรรทัดใหม่ หันมาใช้ <p> แล้วกำหนด margin ใน CSS ดีกว่า

การทำให้ IE8 รู้จักแท็กของ HTML5

HTML5 มีการเพิ่มแท็กหลายตัว เช่น  article  section  nav  aside  สำหรับมาร์คอัพเนื้อหา แท็ก video audio สำหรับแทรกไฟล์วีดีโอหรือไฟล์เสียงเป็นต้น ซึ่งถ้าเป็นบราวเซอร์ตัวใหม่ๆ ที่สนับสนุน HTML5 อยู่แล้วการแทรกแท็กพวกนี้เข้าไปใน HTML การแสดงผลก็เป็นไปตามที่เราออกแบบไว้ อย่างไม่มีปัญหา

สำหรับยูสเซอร์ที่ใช้ IE8 หรือต่ำกว่า มันจะไม่เข้าใจแท็กต่างๆ เหล่านี้ เราจึงจำเป็นต้องเพิ่มโค๊ดพิเศษลงไป ก่อนที่เราจะปิดแท็ก </ head> ดังนี้ครับ

<!--[if lt IE 9]>
<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/r29/html5.min.js">
</script>
<![endif]-->

โดยแท็กพิเศษที่เราเพิ่มลงไปนี้เราเรียกว่า “Internet Explorer Conditional Comment” หรือ IECC  เพื่อให้บราวเซอร์ที่เป็น IE เวอร์ชั่นที่น้อยกว่า 9 ลงไป(เวอร์ชั่น 6-8) แทรกจาวาสคริปต์บางส่วนเพื่อให้ “รู้จัก” แท็ก HTML5 (สคริปต์นี้คือ html5shiv ครับ ) ส่วนบราวเซอร์ IE9 ขึ้นไปหรือบราวเซอร์ค่ายอื่นจะมองเป็นคอมเมนต์ ซึ่งจะไม่ประมวลผลในส่วนนี้ครับ

ซึ่งคำว่า “รู้จัก” ในที่นี้หมายถึงทำให้ บราวเซอร์เหล่านั้นรู้ว่าแท็กเหล่านั้นจะพิมพ์หรือแสดงผลออกมาอย่างไรเท่านั้นนะครับ(เรียกว่ารู้จักแต่ไม่ได้เข้าใจ) เนื่องจากบางอย่างบราวเซอร์ไม่มีความสามารถเพียงพอครับ ผมขอยกตัวอย่างเช่น หากเราแทรกแท็ก video เข้าไป IE8 จะไม่สามารถเล่นไฟล์วีดีโอที่เราแทกมาได้ครับ

แนวปฏิบัติ 6 ข้อในการเรียนรู้เกี่ยวกับ CSS

สรุปจาก
The Best Way to Learn CSS
สิ่งที่ควรศึกษาก่อน
1. พื้นฐาน CSS มันคืออะไรกันแน่
2. เรียนรู้ Syntax ถ้าจะเขียน CSS ต้องทำไงบ้าง

แนวทางปฏิบัติในการเรียนรู้ 6 ข้อ

1. เรียนรู้จาก Beginner’s Course  
Code Academy , Introduction to CSS

2. ลองสร้าง Style หลายๆแบบให้กับ html ตัวเดิมเพื่อเพิ่มทักษะ CSS ของเรา ตัวอย่างที่ดีดูได้ที่
Dev Shea , CSS Zen Garden

Continue reading “แนวปฏิบัติ 6 ข้อในการเรียนรู้เกี่ยวกับ CSS”

การแก้ปัญหา Abort class-pclzip.php : Missing zlib extensions บน UBUNTU 14.04 เวอร์ชั่น 64 bit

Abort class-pclzip.php : Missing zlib extensions

ปัญหานี้ผมเจอเนื่องจากติดตั้ง plugin บางตัวของ wordpress ซึ่งมันจะเรียกใช้งาน zlib extension ซึ่งเวอร์ชั่น php ที่ผมใช้คือ PHP5.5.9-1 ubuntu4.11

คำสั่งตรวจสอบ version ของ PHP

Untitled

Continue reading “การแก้ปัญหา Abort class-pclzip.php : Missing zlib extensions บน UBUNTU 14.04 เวอร์ชั่น 64 bit”

การปรับแต่ง codeigniter ให้สามารถเรียกใช้ storeprocedure ของ mysql ได้

เนื่องจากเราไม่สามารถใช้งาน store procedure ของ MySQL บน codeigniter ตรงๆ ได้ ตรงนี้ต้องเข้าไปปรับแต่ง ดังนี้ครับ

  1. แก้ไฟล์ config  ( application/config/database.php ) เปลี่ยน dbdriver จาก mysql -> mysqli
  2. แก้ไฟล์ไดรเวอร์ของเฟรมเวิร์ค ( system/driver/mysqli_result.php)  โดยเพิ่มฟังก์ชั่นนี้
    function next_result()
    {
    if (is_object($this->conn_id)){
    return mysqli_next_result($this->conn_id);
    }
    }
    

จากนั้นเวลาเราเรียกใช้ store procedure ให้เราเรียกใช้ฟังก์ชั่น  next_result() และ free_result( )(ตัวนี้ถ้าเราไม่ได้ SELECT ตัวแปร out ก็ให้ละไว้ครับ ไม่งั้น resultset ที่เราได้จะเข้าถึงไม่ได้)  หลังจากที่ CALL Procedure ก่อนที่จะเรียกคำสั่งถัดไปครับ เช่น เราเรียก CALL sample(‘param1′,’param2’, @result )  และเราต้องการ select @result ออกมาให้เขียนแบบนี้ครับ


$sql = "CALL sample( ?, ? ,@e_max ) " ;
 $parameter = array( $param1, $param2 );
 $qresult = $this->db->query($sql, $parameter );
 $qresult->next_result();
 $qresult->free_result(); 
 $result = $this->db->query("SELECT @result as result");

เท่านี้เราก็สามารถใช้งาน store procedure บน codeigniter ได้ สบาย ๆ

แหล่งอ้างอิง

Up ↑