หวังว่าจะมีคนอธิบายปัญหาที่ฉันพบในการเชื่อมต่ออย่างง่ายระหว่าง PHP 7 และ MariaDB Server 10.3.32 บน Ubuntu 20.04
นี่คือข้อมูลการเชื่อมต่อ:
$dsn = "mysql:localhost; dbname=databasename; charset=utf8mb4";
$options = [ PDO::ATTR_EMULATE_PREPARES => เท็จ
PDO::ATTR_ERRMODE => PDO::ERRORMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC
];
$pdo = new PDO($dsn, "ชื่อผู้ใช้", "รหัสผ่าน", $ตัวเลือก);
เดอะ ตัวเลือก $
จำเป็นต้องลบออกก่อนที่จะส่งออกข้อมูลสตริงไปยังโปรแกรมหากไม่ทำเช่นนี้ ฉันจะได้รับกล่องดำซึ่งฉันคิดว่าเป็นข้อมูลบางประเภท แต่ไม่ใช่สตริงที่ฉันกำลังมองหา
ฉันพยายามแสดงความคิดเห็น PDO::ATTR_DEFAULT_FETCH_MODE=>PDO::FETCH_ASSOC
แต่ฉันยังคงได้รับปัญหา
ฉันพบว่าถ้าฉันแสดงความคิดเห็น PDO::ATTR_DEFAULT_FETCH_MODE=> PDO::FETCH_ASSOC ฉันสามารถใช้ for วนซ้ำเพื่อรับข้อมูลที่มีดัชนีตัวเลข $dvds[0][0]; แต่ฉันไม่สามารถใช้ชื่อคอลัมน์ฐานข้อมูลเช่น $dvds['ชื่อเรื่อง']; ถ้าฉันไม่ใส่ความคิดเห็นฉันจะได้รับมันด้วย print_r แต่ฉันไม่ได้รับอะไรใน for loop โดยใช้ number หรือ associative index แปลก!
ฉันพบว่าฉันไม่ได้เข้าถึงข้อมูลที่ถูกส่งคืนอย่างถูกต้อง
ฉันต้องใช้ foreach วนซ้ำแล้วเข้าถึงแต่ละแถวตามชื่อการเชื่อมโยงของแต่ละคอลัมน์ในฐานข้อมูล ขอบคุณ.