Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Lỗi kết nối PHP với cơ sở dữ liệu

mysqli_select_db , khi sử dụng API thủ tục yêu cầu bạn chuyển một kết nối thực tế làm tham số đầu tiên, như được hiển thị trên trang người . Kết nối hay liên kết này là mysqli_connect trả về, vì vậy bạn không nên bỏ qua những gì mysqli_connect trả lại , nhưng đúng hơn là gán nó cho một biến.
Chữ ký của hàm cho bạn biết rõ ràng tất cả điều này, vì vậy, xin vui lòng, RTM . Dưới đây là một số hoạt động sao chép đã dán:

                            \/=============================|
bool mysqli_select_db ( mysqli $link , string $dbname )   ||
//returns bool         argument 1       argument 2        ||
mysqli mysqli_connect ([...])                             ||
//returns type mysqli  accepts vast number of arguments   ||
              //                                          ||
              |======== useful here =======================|

Điều này có nghĩa là bạn sẽ phải viết:

$db = mysqli_connect('localhost', 'root', '');
mysqli_select_db($db, 'video_system');

Giống như chương trình hướng dẫn &&chữ ký, mysqli_select_db này trả về một bool. true có nghĩa là DB đã được chọn thành công, false chỉ ra sự thất bại. Tốt nhất bạn nên tập thói quen kiểm tra các giá trị trả về của hàm . Không cần biết nó có vẻ tầm thường đến mức nào. Vì vậy:

$db = mysqli_connect('localhost', 'root', '');
if (!mysqli_select_db($db, 'video_system'))
{//if return value is false, echo error message and exit script
    echo 'Failed to select db "video_system": ', mysqli_error($db), PHP_EOL;
    $db = null;//optional, but generally safer
    exit(1);//stop execution
}
//db selected, get to work here

Nhưng bạn có thể dễ dàng bỏ qua lệnh gọi hàm thứ hai này, bằng cách chuyển tên DB đã chọn cho mysqli_connect chức năng từ bên ngoài:

$db = mysqli_connect('127.0.0.1', 'root', '', 'video_system');

Điều này giúp bạn tiết kiệm chi phí của một lệnh gọi chức năng bổ sung, giúp cải thiện một chút hiệu suất. Tôi cũng đã thay đổi localhost chuỗi thành địa chỉ IP 127.0.0.1, điều này cũng có thể hữu ích, bởi vì sử dụng IP có nghĩa là chuỗi không cần được phân giải thành địa chỉ IP tương ứng.
Nói chung, tôi nghĩ tốt nhất là bạn nên dành chút thời gian đọc tài liệu




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mysql chọn từ hai bảng

  2. Codeigniter:Cột 'id' trong mệnh đề thứ tự không rõ ràng

  3. Mất kết nối với máy chủ MySQL trong khi truy vấn

  4. Cách sử dụng cURL để tìm nạp dữ liệu cụ thể từ một trang web và sau đó lưu nó vào cơ sở dữ liệu của tôi bằng php

  5. Dữ liệu là Null. Phương thức hoặc thuộc tính này không thể được gọi trên các giá trị null. (Sử dụng hộp tổ hợp)