วิธีแก้ไขตารางใน php mysql วิธีดึงข้อมูลจาก MySQL - คำแนะนำสำหรับผู้ที่ไม่ใช่หมอผี ต่อไปนี้คือประเด็นบางส่วนที่ต้องมีการชี้แจง

ในบทที่แล้ว เราได้เรียนรู้วิธีสร้างการเชื่อมต่อกับเซิร์ฟเวอร์ฐานข้อมูล ขั้นตอนต่อไปคือการสร้างฐานข้อมูลและตาราง

ลองดูสองวิธีในการสร้างฐานข้อมูลและตาราง อย่างแรกคือวิธีการดำเนินการใน PHP อย่างที่สองคือการใช้ยูทิลิตี้ PhpMyAdmin ที่เป็นมิตรมากกว่า ซึ่งเป็นมาตรฐานสำหรับโฮสต์เว็บส่วนใหญ่และใน XAMPP

หากคุณโฮสต์ไซต์ที่รองรับ PHP และ MySQL ฐานข้อมูลอาจถูกสร้างขึ้นสำหรับคุณแล้ว และคุณสามารถข้ามส่วนนี้ของบทช่วยสอนและเริ่มสร้างตารางได้ อย่าลืมศึกษาหน้าความช่วยเหลือของโฮสต์

การสร้างฐานข้อมูลและตารางโดยใช้ PHP

ฟังก์ชัน mysql_query ใช้ในการสืบค้นฐานข้อมูล MySQL คิวรีเขียนด้วย Structured Query Language (SQL) SQL เป็นภาษาคิวรีฐานข้อมูลที่ใช้กันอย่างแพร่หลาย ไม่ใช่แค่สำหรับฐานข้อมูล MySQL เท่านั้น แต่ยังเป็นภาษาที่สมเหตุสมผลและง่ายต่อการเรียนรู้ ในบทเรียนนี้และบทเรียนถัดไป คุณจะได้เรียนรู้ทุกสิ่งที่สำคัญเกี่ยวกับการสืบค้น SQL

เมื่อสร้างฐานข้อมูล แบบสอบถาม SQL CREATE DATABASE จะถูกนำมาใช้กับไวยากรณ์ต่อไปนี้:

สร้างฐานข้อมูล ชื่อฐานข้อมูล

ง่ายและเรียบง่ายใช่มั้ยล่ะ!? ลองแทรกสิ่งนี้ลงในสคริปต์ PHP:

Mysql_connect("mysql.myhost.com", "user", "sesame") หรือ die(mysql_error());

mysql_query("สร้างฐานข้อมูล mydatabase") หรือ die(mysql_error());

mysql_close();

ก่อนอื่นเราเชื่อมต่อกับเซิร์ฟเวอร์ MySQL จากนั้นเราสร้างฐานข้อมูล "mydatabase" และสุดท้าย ปิดการเชื่อมต่อกับเซิร์ฟเวอร์ MySQL จนถึงตอนนี้ก็ดีมาก... แต่สิ่งต่างๆ จะซับซ้อนขึ้นเล็กน้อยเมื่อเราต้องการสร้างตารางใน PHP เมื่อสร้างตาราง เราใช้แบบสอบถาม CREATE TABLE SQL ด้วยไวยากรณ์ต่อไปนี้: (สร้างตาราง ชื่อตาราง คอลัมน์_ชื่อ1 DATA_TYPE, ...)

คอลัมน์_ชื่อ2 ข้อมูล_ประเภท,คอลัมน์_ชื่อ3 ข้อมูล_ประเภท, table_nameและ คอลัมน์_ชื่อแน่นอนว่านี่เป็นชื่อที่เหมาะสม

DATA_TYPE

ใช้เพื่อระบุประเภทของข้อมูลที่แทรกลงในคอลัมน์ ต่อไปนี้เป็นประเภทที่พบบ่อยที่สุด:

Mysql_connect("mysql.myhost.com", "user", "sesame") หรือ die(mysql_error());

mysql_select_db("คน") หรือ die(mysql_error());

mysql_query("สร้างตาราง MyTable (id INT AUTO_INCREMENT, FirstName CHAR, LastName CHAR, Phone INT, BirthDate DATE PRIMARY KEY(id)")) หรือ die(mysql_error());

mysql_close();

ในตัวอย่างนี้ เราเริ่มต้นด้วยการเชื่อมต่อกับเซิร์ฟเวอร์ MySQL จากนั้นเราใช้ฟังก์ชันเพื่อเลือกฐานข้อมูล "บุคคล" ต่อไป เราจะสร้างตาราง "บุคคล" จำนวน 5 คอลัมน์

โปรดทราบว่าสำหรับคอลัมน์ "id" เราใช้เพื่อระบุว่าคอลัมน์นั้นมีตัวเลข จากนั้นจึงเพิ่มเพื่อเพิ่มตัวเลขเหล่านั้นโดยอัตโนมัติ และตรวจสอบให้แน่ใจว่าแต่ละแถวสร้าง ID ที่ไม่ซ้ำกัน

ในตอนท้ายเราใช้เพื่อตั้งค่าคอลัมน์ "id" เป็นคีย์หลัก คีย์หลักจะระบุแต่ละระเบียน (/แถว) ในตารางโดยไม่ซ้ำกัน ซึ่งมีประโยชน์อย่างยิ่งสำหรับการอัปเดตฐานข้อมูลในภายหลัง

การสร้างฐานข้อมูลและตารางโดยใช้ phpMyAdmin

การสร้างฐานข้อมูลและตารางโดยตรงใน PHP จะมีประโยชน์มาก แต่มักจะง่ายกว่าในการใช้ phpMyAdmin (หรือยูทิลิตี้การดูแลระบบ MySQL อื่นๆ) ซึ่งเป็นมาตรฐานสำหรับโฮสต์เว็บและ XAMPP ส่วนใหญ่ ภาพหน้าจอด้านล่างแสดงวิธีการสร้างฐานข้อมูลและตารางโดยใช้ phpMyAdmin

จากผู้เขียน : ทำไมมือถือสั่นขนาดนั้น? มีจดหมายมาถึงกล่องจดหมายของคุณ แต่คุณไม่สามารถอ่านได้ใช่ไหม ชัดเจน! คุณจะต้องวิ่งไปรอบ ๆ โดยมีแทมบูรีนอยู่ใกล้พีซีของคุณเพื่อดึงข้อมูลจาก MySQL หลังจาก “ยึด” จดหมาย พวกเขาจะทำอะไร แถมยังคว้าแทมโบรีนด้วยเหรอ? โอเค ฉันจะไม่เข้าไปยุ่ง และสำหรับส่วนที่เหลือ ฉันจะบอกวิธี "แยก" ข้อมูลจาก MySQL โดยไม่ต้องใช้แทมบูรีน

เพื่อจะได้ไม่ต้องกังวลกับการสร้างฐานข้อมูลใหม่และไม่ต้องเสียเวลาอันมีค่า มาดาวน์โหลดฐานข้อมูลสำเร็จรูปจากแหล่งข้อมูล MySQL อย่างเป็นทางการกันดีกว่า และเราจะใช้เวลาที่ประหยัดได้ด้วยวิธีนี้ในการเรียนรู้ “ความมหัศจรรย์” ของการบริหาร DBMS ฐานข้อมูลที่ดาวน์โหลดได้รับการติดตั้งใน phpMyAdmin ผ่านแท็บ "นำเข้า"

ฐานข้อมูลโลกที่นำเข้ามีข้อมูลมากขึ้นและน่าสนใจยิ่งขึ้นในการเรียนรู้ (ในกรณีที่เรารู้สึกเบื่อขณะเรียนรู้เนื้อหา) “ศักยภาพ” ของมันสามารถเห็นได้จากการเปิดตารางใดก็ได้ ตัวอย่างเช่น "เมือง":

เจาะลึกภาษาคิวรีที่มีโครงสร้าง

ทั้งหมดนี้น่าสนใจ แต่ถ้าคุณต้องการแสดงแถว MySQL ไม่ใช่ทั้งตารางล่ะ แทบจะเป็นไปไม่ได้เลยที่จะค้นหาสิ่งที่คุณกำลังมองหาด้วยสายตาจากหลายร้อยบรรทัด ในการทำเช่นนี้คุณต้องใช้เครื่องมือ SQL

Structured Query Language ใช้คำสั่ง SELECT เพื่อแสดงข้อมูลที่เรียงลำดับ ไวยากรณ์ของมันคือ:

นี่คือตัวอย่างแบบสอบถาม SQL สำหรับตาราง "เมือง" ตัวอย่างเช่น เราจำเป็นต้องส่งออกแถวที่มีค่าของคอลัมน์ id คือ 670:

เราเริ่มการร้องขอเอาต์พุตจากฐานข้อมูล MySQL โดยระบุคำสั่ง (SELECT) จากนั้นใช้เครื่องหมายดอกจัน (*) เรา "บอก" DBMS ว่าเราต้องการเลือกค่าแถวทั้งหมดจาก (FROM) ตารางเมือง โดยที่ค่าของคอลัมน์ id เท่ากับค่าที่ระบุ (id = 670) ป้อนคำค้นหาลงในหน้าต่างตัวแก้ไข (แท็บ "SQL") นี่คือผลลัพธ์ที่เซิร์ฟเวอร์กลับมาหาเรา:

เซิร์ฟเวอร์ส่งคืนสตริงที่ตรงตามเกณฑ์ที่ระบุในคำขอให้เรา ด้านบนระบบจะแสดงรหัสคำขอและเพิ่มชิ้นส่วนเข้าไปโดยอัตโนมัติ ตามค่าเริ่มต้น เมื่อใช้คำสั่ง ORDER BY โปรแกรม (ไม่ใช่ DBMS) จะเรียงลำดับผลลัพธ์การเลือกตามค่าของคอลัมน์ Name (เมือง . ชื่อ) ในกรณีนี้ ค่าของคอลัมน์จะถูกจัดเรียงจากน้อยไปหามาก (พารามิเตอร์ ASC)

ให้ความสนใจกับ “รายละเอียดปลีกย่อย” ของไวยากรณ์ (การเขียน) ของการสืบค้นเพื่อแสดงตาราง MySQL ชื่อตารางจะถูกหลีกไม่ใช่ด้วยเครื่องหมายคำพูดเดี่ยวๆ แต่ใช้เครื่องหมาย Grave มันเป็นเครื่องหมายเน้นเสียงที่อ่อนแอ บนแป้นพิมพ์จะอยู่บนคีย์ที่มีตัวอักษร "Ё"

นี่เป็นสิ่งสำคัญเพราะถ้าคุณใช้เครื่องหมายคำพูดเดี่ยว MySQL จะส่งข้อผิดพลาดทางไวยากรณ์
การเขียนคำสั่งร้องขอ เพื่อความชัดเจนลองด้วยตัวเอง ดังนั้นคุณจะเห็นผลลัพธ์ดังต่อไปนี้:

กำลังดึงข้อมูลจากโค้ด PHP

ตอนนี้เราจะพยายามส่งออกข้อมูลจาก MySQL ไปยัง PHP มาแสดงสตริงเดียวกันที่ได้รับในคำขอก่อนหน้าบนหน้าจอกัน นี่คือโค้ดตัวอย่าง:

ตัวอย่างสคริปต์การอนุญาต

- เสียงสะท้อน ` `; } ?>
บัตรประจำตัวประชาชนเข้าสู่ระบบ จดหมายวันที่ลงทะเบียน
`.$id.``.$เข้าสู่ระบบ.``.$เมล.``.$reg_time.`

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

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

ต่อไปนี้เป็นไวยากรณ์ SQL ทั่วไปสำหรับการสร้างตาราง MySQL:

สร้างตาราง table_name (column_name column_type);

ตอนนี้ เราจะสร้างตารางต่อไปนี้ในบทช่วยสอนฐานข้อมูล

Tutorials_tbl (tutorial_id INT ไม่เป็นโมฆะ AUTO_INCREMENT, Tutorial_title VARCHAR (100) ไม่เป็น NULL, Tutorial_author VARCHAR (40) ไม่เป็น NULL, วันที่ส่ง, คีย์หลัก (tutorial_id));

ต่อไปนี้เป็นจุดที่ต้องมีการชี้แจง:

  • ฟิลด์แอตทริบิวต์ไม่เป็นโมฆะ ใช้เนื่องจากเราไม่ต้องการให้มันเป็นโมฆะ ดังนั้นหากผู้ใช้พยายามสร้างบันทึกที่มีค่า NULL MySQL จะส่งข้อผิดพลาด
  • ฟิลด์แอตทริบิวต์ auto_increase ใน MySQL ไม่ได้บอกว่าให้ดำเนินการต่อและเพิ่มหมายเลขถัดไปที่มีอยู่ลงในฟิลด์ ID
  • คำหลักคีย์หลักใช้เพื่อกำหนดคอลัมน์เป็นคีย์หลัก คุณสามารถใช้หลายคอลัมน์โดยคั่นด้วยเครื่องหมายจุลภาคเพื่อกำหนดคีย์หลัก
การสร้างตารางจากบรรทัดคำสั่ง:

การสร้างตาราง MySQL จาก MySQL>พร้อมท์เป็นเรื่องง่าย คุณจะใช้คำสั่ง SQL สร้างตารางเพื่อสร้างตาราง

ตัวอย่าง:

นี่คือตัวอย่างที่ Tutorials_tbl สร้างขึ้น:

Root@host# mysql -u root -p ป้อนรหัสผ่าน:********* mysql> ใช้ TUTORIALS; ฐานข้อมูลเปลี่ยน mysql> สร้างตาราง Tutorials_tbl(-> Tutorial_id INT ไม่เป็น NULL AUTO_INCREMENT, -> Tutorial_title VARCHAR (100) ไม่เป็น NULL, -> Tutorial_author VARCHAR (40) ไม่เป็น NULL, -> submission_date DATE, -> PRIMARY KEY (tutorial_id) -> ); แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (0.16 วินาที) mysql>

การสร้างตารางโดยใช้สคริปต์ PHP:

หากต้องการสร้างตารางใหม่ในฐานข้อมูลที่มีอยู่ คุณต้องใช้ฟังก์ชัน PHP mysql_query() คุณจะส่งผ่านอาร์กิวเมนต์ที่สองของคุณไปยังคำสั่ง SQL ที่ถูกต้องเพื่อสร้างตาราง

ตัวอย่าง:

นี่คือตัวอย่างการสร้างตารางโดยใช้สคริปต์ PHP:

การสร้างตาราง MySQL "; $sql = "สร้างตาราง tutorials_tbl(". "tutorial_id INT ไม่เป็นโมฆะ AUTO_INCREMENT, "." "tutorial_title VARCHAR(100) NOT NULL, "." "tutorial_author VARCHAR(40) NOT NULL, "." submission_date วันที่ ". "คีย์หลัก (tutorial_id)); "; mysql_select_db("TUTORIALS"); $retval = mysql_query($sql, $conn); if(! $retval) ( die("ไม่สามารถสร้างตาราง: " . mysql_error()); ) echo "สร้างตารางสำเร็จแล้ว" ; mysql_close($conn);

ตัวอย่างเพิ่มเติม:

สร้างตารางหากไม่มี `ผู้ใช้` (`id` int(11) ไม่เป็นโมฆะ auto_increase, `role_id` int(11) ไม่เป็นค่าเริ่มต้น "1", `ชื่อผู้ใช้` varchar(25) เรียง utf8_bin ไม่เป็นโมฆะ, `รหัสผ่าน` varchar (34) เปรียบเทียบ utf8_bin ไม่เป็นโมฆะ, `อีเมล` varchar(100) จัดเรียง utf8_bin ไม่เป็นโมฆะ, `ถูกแบน` Tinyint(1) ไม่เป็นค่าเริ่มต้น "0", `ban_reason` varchar(255) เปรียบเทียบ utf8_bin ค่าเริ่มต้นเป็นโมฆะ, `newpass` varchar (34) เปรียบเทียบ utf8_bin เริ่มต้น NULL, `newpass_key` varchar (32) เปรียบเทียบ utf8_bin เริ่มต้น NULL, `newpass_time` datetime เริ่มต้น NULL, `last_ip` varchar (40) เปรียบเทียบ utf8_bin ไม่เป็น NULL, `last_login` datetime ไม่ใช่ NULL ค่าเริ่มต้น "0000-00 -00 00:00:00", `วันที่และเวลาที่สร้างขึ้นไม่เป็นค่าเริ่มต้น NULL "0000-00-00 00:00:00", `แก้ไข` การประทับเวลาไม่เป็นค่าเริ่มต้น NULL CURRENT_TIMESTAMP ในการอัปเดต CURRENT_TIMESTAMP, คีย์หลัก (`id`)) เครื่องยนต์ =InnoDB ค่าเริ่มต้น CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=3 ; // ด้วยสองปุ่ม: สร้างตารางหากไม่มี `ci_sessions` (session_id varchar(40) DEFAULT "0" NOT NULL, ip_address varchar(16) DEFAULT "0" NOT NULL, user_agent varchar(120) NOT NULL, Last_activity int( 10) ค่าเริ่มต้นที่ไม่ได้ลงนาม 0 ไม่เป็นโมฆะ, ข้อความ user_data ไม่เป็นโมฆะ, คีย์หลัก (session_id), คีย์ `last_activity_idx` (`last_activity`));



2024 wisemotors.ru. วิธีนี้ทำงานอย่างไร. เหล็ก. การทำเหมืองแร่ สกุลเงินดิจิทัล