ให้เรตสมาชิก: 3 / 5

ดาวใช้งานดาวใช้งานดาวใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน
 

mysqli_change_user()

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

 

ฟังก์ชัน mysqli_change_user เป็นฟังก์ชันที่ใช้เพื่อเปลี่ยนผู้ใช้ในการเชื่อมต่อฐานข้อมูลที่ระบุหรือต้องการ  ซึ่งมีรูปแบบ syntex ดังนี้ 

mysqli_change_user ( mysqli $link , string $user , string $password , string $database ) : bool

เปลี่ยนผู้ใช้ของการเชื่อมต่อฐานข้อมูลที่ระบุและตั้งค่าฐานข้อมูลปัจจุบัน

เพื่อไม่ให้เกิดข้อผิดพลาดในการเปลี่ยนผู้ใช้    พารามิเตอร์ username และ password จะต้องระบุให้ครบถ้วนและผู้ใช้ต้องมีสิทธิ์เพียงพอในการเข้าถึงฐานข้อมูลที่ต้องการ  หากเกิดความล้มเหลวในการเปลี่ยนไม่ว่าด้วยเหตุผลใด ๆ ผู้ใช้เดิมจะยังคงใช้งานได้อยู่

Parameters

  • link   :  รูปแบบขั้นตอนเท่านั้น: ตัวระบุลิงก์ที่ส่งคืนโดยการใช้งานฟังก์ชัน mysqli_connect()  หรือ mysqli_init()
  • user    :    ชื่อผู้ใช้ MySQL
  • password  :  รหัสผ่าน MySQL
  • database   :   ฐานข้อมูลที่จะเปลี่ยน

ค่า NULL อาจถูกส่งผ่านทำให้มีการเปลี่ยนแปลงเฉพาะผู้ใช้เท่านั้นและจะไม่เลือกฐานข้อมูล ในกรณีนี้หากต้องการเลือกฐานข้อมูลให้ใช้ฟังก์ชัน mysqli_select_db() 

การคืนค่า จะคืนค่าTRUE หากสำเร็จหรือ FALSE เมื่อเกิดความล้มเหลว

 ตัวอย่างโค้ดดังนี้

<?php
/* connect database test */
$link = mysqli_connect("localhost", "my_user", "my_password", "test");

/* check connection */
if (!$link) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* Set Variable a */
mysqli_query($link, "SET @a:=1");

/* reset all and select a new database */
mysqli_change_user($link, "my_user", "my_password", "world");

if ($result = mysqli_query($link, "SELECT DATABASE()")) {
    $row = mysqli_fetch_row($result);
    printf("Default database: %s\n", $row[0]);
    mysqli_free_result($result);
}

if ($result = mysqli_query($link, "SELECT @a")) {
    $row = mysqli_fetch_row($result);
    if ($row[0] === NULL) {
        printf("Value of variable a is NULL\n");
    }
    mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>

 ผลลัพธ์ที่ได้  

Default database: world
Value of variable a is NULL

 จะผลลัพธ์จะเห็นได้ว่า ฐานข้อมูลเริ่มต้นถูกเปลี่ยนเป็น "world" จากเดิมที่เป็น "test"  และค่าของตัวแปร a เท่ากับ  NULL จากเดิมที่เรา set ให้ a=1 แสดงให้เห็นว่าฐานข้อมูลตอนนี้ถูกเปลี่ยนให้ผู้ใช้เดิมมาเชื่อมต่อหรือเข้าถึงได้เรียบร้อยแล้ว

 

 

ช่องทางการศึกษาเพิ่มเติมข่าวที่น่าสนใจเกี่ยวกับ : ฟังก์ชัน PHP

parichat
, ฟังก์ชัน mysqli_change_user เปลี่ยนผู้ใช้ในการเชื่อมต่อฐานข้อมูลที่ระบุ - by คู่มือ การใช้ฟังก์ชั่น php สอนใช้งงานฟังก์ชั่นพื้นฐาน,
3 2 1 5
กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
แก้ css ส่วน padding ด้วย override แล้วไม่เปลี่ยนตาม
โดย eange08 พ 03 มี.ค. 2021 4:43 pm บอร์ด Joomla Development
1
12
พ 03 มี.ค. 2021 4:47 pm โดย tsukasaz
Joomla PDPA ใช้ EB Sticky Cookie Notice โมดูล แสดงแจ้งเตือนการเก็บข้อมูล Cookie ของผู้ใช้งาน
โดย tsukasaz พ 03 มี.ค. 2021 4:39 pm บอร์ด Joomla Extension Review
0
10
พ 03 มี.ค. 2021 4:39 pm โดย tsukasaz
อัพเดทหรือยัง? ปรับปรุงเรื่องความปลอดภัย 9 จุด ใน Joomla 3.9.25
โดย tsukasaz พ 03 มี.ค. 2021 12:28 pm บอร์ด MindPHP News & Feedback
0
27
พ 03 มี.ค. 2021 12:28 pm โดย tsukasaz
B - เปิดหน้าเว็บด้วย template เป็น Shaper_megadeal_ii แล้ว Error 404
โดย eange08 พ 03 มี.ค. 2021 12:04 pm บอร์ด เว็บไซต์ Rnyard - Tester
2
6
พ 03 มี.ค. 2021 7:25 pm โดย tsukasaz
ขอวิธีสร้าง Google form หน่อยค่ะ
โดย Kannaphat พ 03 มี.ค. 2021 11:20 am บอร์ด ถาม - ตอบ คอมพิวเตอร์
1
16
พ 03 มี.ค. 2021 12:56 pm โดย mindphp
ทำ google structured ใช้แบบ Json แล้วหน้าที่แสดงบทความเดียวกันหมด
โดย eange08 อ 02 มี.ค. 2021 6:38 pm บอร์ด Joomla Development
2
24
อ 02 มี.ค. 2021 10:01 pm โดย amay123
สอบถามถ้ามี vote จะขึ้นว่า "Article ไม่ใช่ประเภทเป้าหมายที่ถูกต้องสำหรับพร็อพเพอร์ตี้ itemReviewed"
โดย eange08 อ 02 มี.ค. 2021 12:18 pm บอร์ด Joomla Development
3
27
อ 02 มี.ค. 2021 1:16 pm โดย eange08
ขอวิธีเช็คเว็บไซด์ที่มาจาก Google 10 หน้าแรกหน่อยค่ะ
โดย Kannaphat ส 27 ก.พ. 2021 4:59 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
0
38
ส 27 ก.พ. 2021 4:59 pm โดย Kannaphat