ให้เรตสมาชิก: 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

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
ประเภทหน้ารายงานงบการเงิน
โดย EyePornnipa ศ 23 ส.ค. 2019 6:30 pm บอร์ด M089 - นางสาวพรนิภา ราชธานี
0
8
ศ 23 ส.ค. 2019 6:30 pm โดย EyePornnipa
Android Q ได้ชื่อใหม่แล้ว ไม่ใช่ชื่อขนม แต่เป็น "Android 10" มีเปลี่ยนโลโก้ด้วย
โดย aninthana ศ 23 ส.ค. 2019 5:49 pm บอร์ด Mobile Programming - Android, iOS, Window Phone
0
3
ศ 23 ส.ค. 2019 5:49 pm โดย aninthana
สอบถาม ถ้าลงไพทอน เวอร์ชั่นใหม่ เดิมใช้เวอร์ชั่นเก่าอยู่ จะเป็นยังไงครับ
โดย chatee supasand ศ 23 ส.ค. 2019 5:49 pm บอร์ด Programming - C/C++ & java & Python
1
8
ศ 23 ส.ค. 2019 5:52 pm โดย tatiya
ดีไซต์ใหม่ Google Play Store เน้นสีขาว
โดย jamepiyawat ศ 23 ส.ค. 2019 5:48 pm บอร์ด Share Knowledge
0
3
ศ 23 ส.ค. 2019 5:48 pm โดย jamepiyawat
วีธีการดาวน์โหลดวีดีโอด้วยลิ้ง url โดยการใช้ requests
โดย jirawoot ศ 23 ส.ค. 2019 5:46 pm บอร์ด Python Knowledge
0
12
ศ 23 ส.ค. 2019 5:46 pm โดย jirawoot
ฟีเจอร์ Template MZC_
โดย Patipat ศ 23 ส.ค. 2019 4:59 pm บอร์ด M088 - ปฏิภัทร สารธรรม
1
9
ศ 23 ส.ค. 2019 5:12 pm โดย Patipat
B - ปรับ Template opencart
โดย jamepiyawat ศ 23 ส.ค. 2019 5:02 pm บอร์ด M084 - นายปิยวัช เชาว์วิมล
0
5
ศ 23 ส.ค. 2019 5:02 pm โดย jamepiyawat
ฟีเจอร์ Template MooZiiOpencart
โดย jamepiyawat ศ 23 ส.ค. 2019 4:42 pm บอร์ด M084 - นายปิยวัช เชาว์วิมล
2
12
ศ 23 ส.ค. 2019 5:36 pm โดย jamepiyawat
ใบแจ้งหนี้รูปแบบต่างๆ
โดย EyePornnipa ศ 23 ส.ค. 2019 3:51 pm บอร์ด M089 - นางสาวพรนิภา ราชธานี
1
14
ศ 23 ส.ค. 2019 7:31 pm โดย thatsawan
Q - อยากทำให้ฟอร์ม Login ขึ้นแค่ตอนที่ยังไม่กด Login ครับ
โดย Patipat ศ 23 ส.ค. 2019 3:37 pm บอร์ด Joomla Development
1
10
ศ 23 ส.ค. 2019 4:05 pm โดย tsukasaz
อยากทราบวิธีการแก้ไขปัญหา การส่งค่า ไป controller ของ phpbb ต้องกด 2 รอบ ถึงจะมีค่าที่ต้องการมาอสดง
โดย Ittichai_chupol ศ 23 ส.ค. 2019 3:33 pm บอร์ด Programming - PHP
0
8
ศ 23 ส.ค. 2019 3:33 pm โดย Ittichai_chupol
เข้าใช้คอมโพเน้นท์ไม่ได้
โดย alonglot ศ 23 ส.ค. 2019 3:33 pm บอร์ด Joomla Development
2
10
ศ 23 ส.ค. 2019 4:40 pm โดย alonglot
Q - อยากทราบวิธีทำ รายการ Category ครับ
โดย Patipat ศ 23 ส.ค. 2019 3:32 pm บอร์ด Joomla Development
0
5
ศ 23 ส.ค. 2019 3:32 pm โดย Patipat
สอบถาม ส่งค่าเป็นภาษาไทย ของ selenium ใน python 2.7 ไม่ได้ครับ
โดย chatee supasand ศ 23 ส.ค. 2019 3:24 pm บอร์ด Programming - C/C++ & java & Python
3
11
ศ 23 ส.ค. 2019 3:39 pm โดย tatiya
B - กด Generate Discount บนเมนู Customer Invoice ไม่ได้
โดย EyePornnipa ศ 23 ส.ค. 2019 2:16 pm บอร์ด M.D.Soft Co.,Ltd. - Tester
0
4
ศ 23 ส.ค. 2019 2:16 pm โดย EyePornnipa
Google ลบ 85 แอปที่ Trend Micro ตรวจพบ Adware ออกพ้นจาก Playstore
โดย aninthana ศ 23 ส.ค. 2019 12:08 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
10
ศ 23 ส.ค. 2019 12:08 pm โดย aninthana
Q - Module MDFiles Featured คืออะไรครับ
โดย Patipat ศ 23 ส.ค. 2019 11:08 am บอร์ด Joomla Development
2
15
ศ 23 ส.ค. 2019 11:25 am โดย Patipat
งานประจำวันที่ 23 สิงหาคม 2562
โดย jirawoot ศ 23 ส.ค. 2019 9:34 am บอร์ด M090 - นายจิระวุฒิ อัครลิขิตกุล
1
3
ศ 23 ส.ค. 2019 7:32 pm โดย jirawoot
งานประจำวันที่ 23 สิงหาคม 2562
โดย Patipat ศ 23 ส.ค. 2019 9:27 am บอร์ด M088 - ปฏิภัทร สารธรรม
1
5
ศ 23 ส.ค. 2019 7:04 pm โดย Patipat
งานประจำวันที่ 23 สิงหาคม 2562
โดย chatee supasand ศ 23 ส.ค. 2019 9:25 am บอร์ด MT33 - นายชาตรี สุภาแสน
1
5
ศ 23 ส.ค. 2019 7:24 pm โดย chatee supasand