1. Hãy dành vài giây Đăng nhập hoặc Đăng ký tài khoản để truy cập và sử dụng TBit hiệu quả nhất.
    Ẩn thông báo
  2. Bạn hãy like trang Facebook của TBit để nhận được tin tức công nghệ nhanh nhất từ chúng tôi.
    Ẩn thông báo

Hỏi Lỗi kết nối csdl tới máy chủ

Thảo luận trong 'Thiết kế web' bắt đầu bởi Tùng Ninja, 26/1/16.

0/5, 0 phiếu

    1. Tùng Ninja TBit-Member

      Em gặp lỗi trong khi kết nối csdl tới máy chủ localhost như sau:

      anh1.png

      -Trong đó file dbCon.php dùng để connect như sau:

      anh2.png

      -File index.php như sau:

      anh3.png

      -Trong phần manage Site em thiết lập như sau:

      anh4.png

      Em cũng đã thay ("localhost:7070","root","root") trong file dbCon.php thành ("localhost","root","") cũng không thể kết nối được.Mong m.n chỉ giáo :D
       
      Đang tải...
    2. Admin

      Admin Founder Thành viên BQT

      Điểm:
      12.877ß
      Thầy thấy có vài vấn đề:
      1. Cái host, user, pass em phải đổi theo của em (mặc định là: "localhost", "root", "" nếu em dùng xampp).
      2. Khi thầy dạy có nói các em nên dùng MySQLi hoặc PDO thay cho chuẩn cũ là MySQL.
      3. Trong phần thiết lập site em bỏ hết cái đuổi ":7070" đi vì đó là phần cổng họ dùng. Tên thư mục em giải nén phải đúng tên như trong hình là "khoapham.vn" (em có thể đổi tên thư mục và cũng phải đổi tên tương ứng ở phần thiết lập này.
      4. Em sửa lại file config đó nội dung sau, chạy lại xem có được không. Lỗi báo lại thầy hoặc gửi project thầy xem cho.
      PHP:
      1. <?php
      2. $servername = "localhost";
      3. $username = "root";
      4. $password = "";
      5. $dbname = "ten_CSDL"; //đoi thanh ten CSDL em dung
      6.  
      7. // Kết nối
      8. $conn = mysqli_connect($servername, $username, $password, $dbname);
      9.  
      10. // Kiểm tra kết nối
      11. if (!$conn) {
      12.     die("Connection failed: " . mysqli_connect_error());
      13. }
      14. ?>
      Dùng cách trên nhưng phải thay hết những lệnh thao tác CSDL theo mysqli (hơi phức tạp).

      Hoặc dùng cách cũ thì thay:

      PHP:
      1. <?php
      2. $con = mysql_connect("localhost","root","");
      3. if (!$con)
      4.   {
      5.   die('Could not connect: ' . mysql_error());
      6.   }
      7. mysql_select_db("khoaphamtraining",$con); //Tên này phải giống tên CSDL em tạo trong phpMyAdmin.
      8. mysql_query("SET NAMES 'utf8'"); //Hỗ trợ tiếng Việt
      9. ?>
       
    3. Tùng Ninja

      Tùng Ninja TBit-Member

      Điểm:
      Thưa thầy em khắc phục được rồi ạ.
      - Đổi từ mysql -> mysqli.
      - Tắt ứng dụng đang chạy ở port 80.
      Nhưng cho em hỏi là:
      - Cái localhost:7070 kia là cổng 80 của em bị chiếm bởi ứng dụng khác nên em đổi thành 7070.Em nghĩ cũng phải là ("localhost:7070","root","") chứ ạ.Vì khi minh vào phpmyadmin đường dẫn mặc định vẫn là : localhost:7070
       
    4. Admin

      Admin Founder Thành viên BQT

      Điểm:
      12.877ß
      Uh. Nếu em cấu hình dùng cổng 7070 thì thế là đúng. Thầy tưởng đó là của họ, em chưa sửa. Nên dùng MySQLi hoặc PDO nhé. Tạm quên MySQL đi. :D
       
    5. Tùng Ninja

      Tùng Ninja TBit-Member

      Điểm:
      Với MySQLi và PDO thì nên dùng cái nào là tốt nhất ạ thầy
       
    6. Admin

      Admin Founder Thành viên BQT

      Điểm:
      12.877ß
      Tùy sở thích và thói quen của từng người nữa em ạ. Cả 2 đều là những chuẩn mới vài năm trở lại đây và đều đang rất phổ biến. PDO thiên về hướng đối tượng hơn nên có vẻ nhỉnh hơn chút và nhiều người đánh giá cao hơn.

      Em tham khảo thêm tại đây về so sánh giữa PDO và MySQLi: http://code.tutsplus.com/tutorials/pdo-vs-mysqli-which-should-you-use--net-24059
       
      Tùng Ninja thích bài này.

Chia sẻ trang này

Đang tải...