Score:0

การเชื่อมต่อ PHP กับ Maria DB

ธง lk

หวังว่าจะมีคนอธิบายปัญหาที่ฉันพบในการเชื่อมต่ออย่างง่ายระหว่าง 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 วนซ้ำแล้วเข้าถึงแต่ละแถวตามชื่อการเชื่อมโยงของแต่ละคอลัมน์ในฐานข้อมูล ขอบคุณ.

Mike G avatar
lk flag
ควรอ่าน $dsn = "mysql:host=localhost; dbname=databasename;charset=utf8mb4";
Mike G avatar
lk flag
ฉันพบว่าถ้าฉันแสดงความคิดเห็น PDO::ATTR_DEFAULT_FETCH_MODE=> PDO::FETCH_ASSOC ฉันสามารถใช้ for วนซ้ำเพื่อรับข้อมูลที่มีดัชนีตัวเลข $dvds[0][0]; แต่ฉันไม่สามารถใช้ชื่อคอลัมน์ฐานข้อมูลเช่น $dvds['ชื่อเรื่อง']; ถ้าฉันไม่ใส่ความคิดเห็นฉันจะได้รับมันด้วย print_r แต่ฉันไม่ได้รับอะไรใน for loop โดยใช้ number หรือ associative index แปลก!
Score:0
ธง lk

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

Score:-1
ธง ec

เป็นไปได้ไหมที่คุณหายไป โฮสต์ = บนของคุณ $dsn งานที่มอบหมาย?

ชอบ:

$dsn = "mysql:host=localhost; dbname=databasename; charset=utf8mb4";
Mike G avatar
lk flag
ดูเหมือนจะไม่เป็นปัญหาเพราะเมื่อฉันแสดงความคิดเห็นเกี่ยวกับตัวเลือกต่างๆ การเชื่อมต่อจะทำงานและให้ข้อมูลที่คาดไว้ ขอบคุณสำหรับคำแนะนำของคุณ
Mike G avatar
lk flag
เมื่อฉันพิมพ์คำถาม ฉันลืมใส่โฮสต์ แต่มันอยู่ในสตริงในโปรแกรม ขอบคุณที่ชี้ให้เห็น ฉันยังไม่รู้ว่าทำไมตัวเลือกถึงไม่ถูกต้อง ขอบคุณ

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา