Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > PHP > PHP Forum > เห็นมาเยอะ วันนี้ตื่นเช้า ขอมาบอกวิธีจับแมลงมาทอดกินกันสักหน่อย



 

เห็นมาเยอะ วันนี้ตื่นเช้า ขอมาบอกวิธีจับแมลงมาทอดกินกันสักหน่อย

 



Topic : 067369



โพสกระทู้ ( 11,835 )
บทความ ( 10 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์




เรื่องแรก การเขียน insert sql statement เห็นน้องๆ หลายคนเขียนกันจังเล๊ยแบบเนี้ย

Quote:
insert into (pk,field1,field2) values ('', '$field1', '$field2');


การเขียนแบบข้างบนนี้ หลายคนอาจจะสบายใจว่า เอ้ย ได้เว้ยๆ แต่พออัปขึ้นโฮสติ้ง หรือว่าลง appserv version ใหม่อาจจะจ๋อยและมึนงงว่าทำไมมัน error วะหรือว่าทำไมมันนิ่งเฉย เงียบสนิทแบบนี้วะ

คำตอบ คือ ไอ้การเขียนแบบนี้ที่ใส่ '' เข้าไปใน primary key ที่เป็นแบบ autoincrement เนี้ย มันจะทำงานได้ก็ต่อเมื่อ my.ini มันไม่ได้ใช้ STRICT_TRANS_TABLES ใน sql-mode แต่ถ้าอัปขึ้นโฮสติ้งส่วนมากเค้าใช้กันนี่ซิ

ดังนั้น จำไว้นะครับ ถ้าจะ insert ข้อมูลเข้า table และ pk เป็น autoincrement ไม่ต้องใส่ค่าให้มัน มันแสนรู้ มันจะใส่ค่าให้เราเอง

Quote:
insert into (field1,field2) values ('$field1', '$field2');


เดี๋ยว rep ต่อไปจะมาบอกวิธีจับแมลงตัวอื่นๆ ทอดกินกัน จะได้ไม่บนกันจังว่า ทำไมรันในเครื่องแล้วได้ แต่เอาไปรันเครื่่องอื่นหรือว่าขึ้น โอสติ้งแล้วไม่ได้

ปล. ช่วงนี้ติดงานอาจจะไม่ค่อยได้ตอบเท่าไหร่
ปล.2 ถ้าใครจะแจมก็เชิญครับ กระทู้นี้จะได้เป็นประโยชน์กับมือใหม่



Tag : PHP









ประวัติการแก้ไข
2011-09-30 07:29:00
2011-09-30 11:44:27
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2011-09-30 07:25:53 By : ikikkok View : 1486 Reply : 16
 

 

No. 1



โพสกระทู้ ( 545 )
บทความ ( 0 )



สถานะออฟไลน์


ขอถามหน่อยครับ การเขียนแบบนี้มันจะมีปัญหาอะไรไหมครับ
Quote:
INSERT INTO table SET
field1 = "field1",
field2 = "field2"


เพราะส่วนตัวชอบเขียนแบบนี้ รู้สึกว่ามันดูง่ายดี มองแล้วรู้เลยว่าตัวแปรนี้เก็บค่าอะไรไว้






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-09-30 08:25:59 By : grandraftz
 


 

No. 2



โพสกระทู้ ( 11,835 )
บทความ ( 10 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์


ตอบความคิดเห็นที่ : 1 เขียนโดย : grandraftz เมื่อวันที่ 2011-09-30 08:25:59
รายละเอียดของการตอบ ::
ไม่มีครับ สำหรับ mysql นะ dbms ตัวอื่นผมไม่รู้ว่าจะใช้ได้หรือเปล่า ผมเลยเขียนแบบ มาตรฐาน SQL ไว้ก่อน จะได้ชินครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-09-30 08:42:35 By : ikikkok
 

 

No. 3



โพสกระทู้ ( 202 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

ว้าว เรื่องง่ายที่หลายๆๆ คนไม่รู้ อิอิ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-09-30 10:32:32 By : lootboom
 


 

No. 4



โพสกระทู้ ( 545 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 2 เขียนโดย : ikikkok เมื่อวันที่ 2011-09-30 08:42:35
รายละเอียดของการตอบ ::
ขอบคุณครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-09-30 11:00:49 By : grandraftz
 


 

No. 5



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

ปกติในหลาย ๆ Database เค้าก็ไม่ให้ ค่าว่างอยู่แล้วครับ เช่นพวก SQL Server , Oracle
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-09-30 11:06:07 By : webmaster
 


 

No. 6



โพสกระทู้ ( 4,756 )
บทความ ( 8 )



สถานะออฟไลน์


การรับค่าผ่าน method post ให้ใช้ $_POST
$HTTP_POST_VARS เลิกใช้แล้ว

การรับค่าผ่าน method get ให้ใช้ $_GET
$HTTP_GET_VARS เลิกใช้แล้ว

การรับค่า file ให้ใช้ $_FILES
$HTTP_POST_FILES เลิกใช้แล้ว

ต่างๆเหล่านี้ ควรมีการสำรวจจากเว็บของ php เป็นระยะ ถึงการเขียนที่เป็นปัจจุบัน และอะไรที่ deprecated (เลิกใช้)แล้วบ้าง

นอกจากนี้ก็ควรสำรวจ function ที่จะใช้ด้วย ตัวอย่างเช่น เคยเขียน pattern การเปรียบเทียบด้วย eregi ก็ให้ลองหาจาก google ด้วยคำว่า php eregi
แล้วเข้าไปในผลการค้นหาที่เป็นเว็บของ php.net ดูว่ามันเลิกใช้แล้วหรือยัง (deprecated)
ถ้ามันขึ้น deprecated ให้ลองคลิกอ่านในลิ้งค์ต่างๆตรง note เพื่อดูว่ามีการปรับเปลี่ยนไปใช้เป็นอะไรบ้าง
ซึ่งจากตัวอย่าง พบว่ามีการเปลี่ยนไปใช้ preg_ ต่างๆแทน เช่น
eregi_replace ->(เปลี่ยนเป็น) preg_replace
eregi -> preg_match
split -> preg_split
เป็นต้น

การสำรวจจากเว็บ php.net บ่อยๆจะทำให้ไม่พลาดในวิธีการเขียนที่เป็นปัจจุบัน และมักจะไม่ค่อยมีปัญหาเมื่อนำไปใช้ใน server ต่างๆครับ

(ขอแจม)
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-09-30 11:18:00 By : mr.v
 


 

No. 7



โพสกระทู้ ( 202 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

ว้าว กระทู้ปล่อยของๆๆๆๆ รีบมาโกยความรู้กันนะครับ ขุดๆๆ เดี๋ยวตก กระทู้ดีีมีสาระ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-09-30 11:28:59 By : lootboom
 


 

No. 8



โพสกระทู้ ( 11,835 )
บทความ ( 10 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์


ตอบความคิดเห็นที่ : 6 เขียนโดย : mr.v เมื่อวันที่ 2011-09-30 11:18:00
รายละเอียดของการตอบ ::
เสริมครับ สำหรับคนที่เขียนรับพารามิเตอร์จากฟอร์มหรือจาก query string โดยใช้ $parameter มาลอยๆ แล้วใช้ได้ ไม่ได้หมายความว่าจะดีนะครับ เพราะว่า hosting ถ้าไม่เก่าเก๋ากึ๊ก ไม่เปิดหรอกครับ register_globals = On ดังนั้นเขียนให้เป็นนิสัยไว้ $_POST, $_GET, $_REQUEST

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-10-01 00:15:29 By : ikikkok
 


 

No. 9



โพสกระทู้ ( 11,835 )
บทความ ( 10 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์


เทคนิคการดู error เบื้องต้น เรื่อง on line xxx

ให้คุณมองบรรทัดก่อนหน้าที่มันฟ้องก่อน เพราะอาจจะลืมปิด ; หรือว่า syntax error เพื่อความรวดเร็ว และไม่จับจด
ควรกวาดสายตาขึ้นบน ลงล่าง +- 5 บรรทัด
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-10-01 00:17:52 By : ikikkok
 


 

No. 10



โพสกระทู้ ( 11,835 )
บทความ ( 10 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์


ถ้า excute sql statement พวก select, insert, update, delete ไม่ผ่าน

1. ควรกลับไปดูก่อนว่า include file สำหรับ database connecting แล้วหรือยัง
2. ถ้า include แล้ว คุณได้ใส่ die ไว้หรือเปล่า ถ้าไม่ใส่ ต้องไปดูให้ดีๆ ว่า mysql host, username, password ถูกต้องไหม
3. ควรใส่ or die(mysql_error()) ไว้หลัง mysql_query หรือจะให้ดีเขียน class database หรือว่า function ไว้ จะได้เปิดปิด debug ได้
4. ดูว่าพารามิเตอร์ที่จะใช้ในการ select, insert, update, delete มีค่าหรือไม่ ซึ่งสาเหตุส่วนใหญ่เพราะไม่ทำเหมือน No. 6 และ No. 8

เอาแค่เบื้องต้นก่อน แล้วค่อยมาดูว่า error มีกี่ประเภท เท่าที่เจอและจำได้ว่ามันคืออะไร
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-10-01 00:24:32 By : ikikkok
 


 

No. 11



โพสกระทู้ ( 4,756 )
บทความ ( 8 )



สถานะออฟไลน์


เรื่อง db นี่ผมว่าเราชวนกันมาใช้พวก class ดีกว่ามั้ยครับ เพราะชอบเขียนแบบไม่มี escape กันด้วยนะ (sql injection)
ถ้าเป็น class บางตัวเขาคงมี escape มาให้ภายใน อย่างเช่น phpadodb

อย่างผมใช้ codeigniter ก็ไม่ห่วงเรื่อง escape เพราะในนั้นมัน escape auto ให้อยู่แล้ว
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-10-01 00:29:42 By : mr.v
 


 

No. 12



โพสกระทู้ ( 11,835 )
บทความ ( 10 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์


ตอบความคิดเห็นที่ : 11 เขียนโดย : mr.v เมื่อวันที่ 2011-10-01 00:29:42
รายละเอียดของการตอบ ::
เดี๋ยวเรื่องยาวครับ mr.v เขียนบทความสอนให้ใช้ lib สำเร็จรูปจะดีกว่า เพราะชวนกันเขียนไม่เสร็จแน่ เดี๋ยวคนนั้นก็บอกดี คนนี้บอกไม่ดี อีก เดี๋ยวจะดราม่าซะเปล่าๆ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-10-01 00:35:28 By : ikikkok
 


 

No. 13



โพสกระทู้ ( 4,756 )
บทความ ( 8 )



สถานะออฟไลน์


ผมหมายถึงพวก lib สำเร็จน่ะแหละครับ อย่าง phpadodb ไง มันใช้ไม่ยากนะ ดีด้วย
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-10-01 01:03:42 By : mr.v
 


 

No. 14



โพสกระทู้ ( 11,835 )
บทความ ( 10 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์


จัดไปครับ เอาในกระทู้นี้แหละ หรือว่าตั้งมาใหม่เลยก็ได้ แต่ต้องระวังจะเขียน sql ปกติไม่ได้
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-10-01 01:33:41 By : ikikkok
 


 

No. 15



โพสกระทู้ ( 43 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 10 เขียนโดย : ikikkok เมื่อวันที่ 2011-10-01 00:24:32
3. ควรใส่ or die(mysql_error()) ไว้หลัง mysql_query
รายละเอียดของการตอบ ::
ทำไมต้องใส่ครับ ถ้าไม่ใช่จะเกิดอะไรขึ้นครับ พอดีไม่มีความรู้เรื่องนี้ก็มาหาอ่านบทความและที่เขาถาม ๆ กันไว้น่ะ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-10-02 02:00:43 By : โนวิด
 


 

No. 16



โพสกระทู้ ( 11,835 )
บทความ ( 10 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์


ตอบความคิดเห็นที่ : 15 เขียนโดย : โนวิด เมื่อวันที่ 2011-10-02 02:00:43
รายละเอียดของการตอบ ::
ใส่ไว้ให้เห็น error จากการ query ครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-10-02 05:34:39 By : ikikkok
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : เห็นมาเยอะ วันนี้ตื่นเช้า ขอมาบอกวิธีจับแมลงมาทอดกินกันสักหน่อย
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 03
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่