Score:0

ทำไม MySQLi แทรกแบบสอบถามไม่ทำงาน Ubuntu

ธง fr

สวัสดี ฉันยินดีหากมีใครตอบคำถามนี้ ฉันเพิ่งเปลี่ยนระบบปฏิบัติการพีซีของฉันเป็น Ubuntu และดาวน์โหลด Xampp มาด้วย แต่ปัญหาตอนนี้คือ PHP MYSQLI แบบสอบถามแทรกไม่ทำงานบนพีซีของฉัน เว็บไซต์ทั้งหมดที่ฉันพัฒนา ก่อนหน้านี้ ฉันไม่สามารถลงทะเบียนใด ๆ บนพีซี localhost ของฉันได้

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

ฉันใช้ lampp สำหรับ Ubuntu ที่ฉันดาวน์โหลดมาจาก https://www.apachefriends.org/download.htmlและฉันใช้บรรทัดคำสั่งด้านล่างเพื่อติดตั้ง

$ chmod 755 xampp-linux-x64-7.3.31-3-installer.run

$ ls -l xampp-linux-x64-7.3.31-3-installer.run

$ sudo ./xampp-linux-x64-7.3.31-3-installer.run

ฉันกำลังรันโค้ดด้านล่างแต่ไม่ได้รับข้อความแสดงข้อผิดพลาดและค่าไม่ได้ถูกแทรกลงในฐานข้อมูล ฉันยังสังเกตเห็นว่าฉันสร้างตารางฐานข้อมูลใหม่โดยมีเพียง 2 คอลัมน์ id และ fname ค่าจะถูกแทรก แต่เมื่อตาราง คอลัมน์มากกว่า 2 มันจะไม่แทรกอีกและฉันไม่สามารถลงทะเบียนในฐานข้อมูลโครงการก่อนหน้าของฉัน ฉันนำเข้าไปยัง lampp phpmyadmin ของฉัน

นี่คือรหัส

<?php
// all db connections is declear here 
$servername = "localhost";
$dBUsername = "root";
$dbPassword = "";
$dBName = "crypto";

$conn = mysqli_connect($servername, $dBUsername, $dbPassword, 
$dBName);

if(!$conn){
echo "Database Connection Failed";
exit();
}

// insert into database
$RegS="INSERT INTO user_info (`fname`) VALUES('user')";
$RegR = mysqli_query($conn, $RegS);

if ($RegR == TRUE) {
echo'Successfull';
}

?>

ฉันยินดีถ้าใครสามารถช่วยได้

vidarlo avatar
om flag
คุณจะต้องระบุข้อมูลเพิ่มเติมเกี่ยวกับการกำหนดค่าและปัญหาของคุณเพื่อรับความช่วยเหลือ คุณติดตั้งอะไร ติดตั้งอย่างไร รหัสอะไรที่คุณเรียกใช้ และคุณได้รับข้อความแสดงข้อผิดพลาดอะไรบ้าง [แก้ไข] คำถามของคุณเพื่อเพิ่มข้อมูลนี้
Christaiwo avatar
fr flag
ใช่ฉันเพิ่งอัปเดต
Score:0
ธง in

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

  1. กำลังตั้งค่าฐานข้อมูลเป็นครั้งแรก
  2. คุณกำลังทำงานด้านธุรการ
  3. คุณกำลังแก้ไขสิ่งที่ผิดพลาดจริงๆ

คุณจะต้องสร้างผู้ใช้ MySQL ใหม่และให้สิทธิ์เข้าถึงฐานข้อมูลแทน นี่คือวิธี:

  1. จากเทอร์มินัล (หรือการเชื่อมต่อ SSH) ให้เชื่อมต่อกับ MySQL เป็นไฟล์ ราก ผู้ใช้ผ่านทาง ซูโด:
    sudo mysql 
    
  2. สร้างผู้ใช้ MySQL ใหม่:
    สร้างผู้ใช้ 'coins' @ 'localhost' ระบุด้วย mysql_native_password โดย 'superSecretPassword!123';
    
    บันทึก: อย่าลืมเปลี่ยน เหรียญ และ superSecretPassword!123 ด้วยสิ่งที่คุณต้องการ
  3. ให้สิทธิ์เข้าถึงฐานข้อมูล:
    ให้ทั้งหมดบน `crypto`.* ถึง 'coins'@'localhost';
    

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

Christaiwo avatar
fr flag
ขอบคุณสำหรับการตอบกลับของคุณ ฉันได้สร้างผู้ใช้ใหม่และแก้ไขการเชื่อมต่อฐานข้อมูล แต่ฉันได้รับ mysqli_real_connect(): (hy000/1045): การเข้าถึงถูกปฏิเสธสำหรับผู้ใช้ 'userone'@'localhost' (โดยใช้รหัสผ่าน: ใช่)
in flag
ฐานข้อมูล MySQL โฮสต์อยู่บนเครื่องเดียวกันกับเว็บเซิร์ฟเวอร์หรือไม่
Christaiwo avatar
fr flag
ใช่ มันโฮสต์บนพีซีเครื่องเดียวกัน แต่ฉันคิดแล้วว่าฉันทำผิดตรงไหน เมื่อสร้างตารางฉันไม่ได้ตั้งค่าเริ่มต้นเป็น null บนพีซีที่ใช้หน้าต่างของฉัน แต่เมื่อฉันโอนย้ายไปยัง Ubuntu MySQL ไม่รองรับ ดังนั้นฉันจึงต้องเปลี่ยนค่าเริ่มต้นของตารางทั้งหมดเป็น null ขอบคุณอีกครั้งและขอขอบคุณสำหรับคำตอบของคุณ ฉันดีใจ

โพสต์คำตอบ

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