Hướng dẫn mysqli_connect not working - mysqli_connect không hoạt động

Nếu bạn vừa cài đặt MySQL, thì chỉ tồn tại người dùng root mà không có mật khẩu (hoặc trống nếu bạn thích). Bạn được khuyến khích thay đổi mật khẩu đó và tạo một người dùng và mật khẩu mới cho ứng dụng của bạn, người chỉ có quyền truy cập vào chỉ một cơ sở dữ liệu, ứng dụng của bạn sử dụng.AND create a new user and password for your application, who has only access to just one database, the one your application uses.

Để thay đổi mật khẩu root, bạn có thể làm điều này:

$ mysql -u root -p
Enter password: [press enter]
mysql> use mysql;
mysql> UPDATE user SET `password`=PASSWORD('your_desired_password') WHERE username='root';

# this next bit is to create a database and a username for your web application
mysql> CREATE DATABASE your_application_name;
mysql> GRANT ALL ON your_application_name.* TO 'your_username'@'localhost' IDENTIFIED BY 'yourpassword';

Rõ ràng thay đổi tất cả các giá trị your_* với các giá trị chính xác.

Vì lý do tại sao die() không được thực thi, hãy làm những gì @yes123 và @binarylv đã nói (Tôi nghĩ rằng cả hai đều đúng, mysqli không được cài đặt, vì vậy nó ném E_FATAL_ERROR khi gọi mysqli_connect(...) và vì error_reporting bị vô hiệu hóa (hoặc có thể

Success... localhost via TCP/IP
0, Hoặc có thể cả hai), bạn không thấy lỗi đó.

mysqli_connect_errno () - Trả về mã lỗi từ cuộc gọi kết nối cuối cùng

Hi,

mysqli_connect_error () - Trả về mô tả về lỗi kết nối cuối cùng

mysqli_close () - Đóng kết nối cơ sở dữ liệu đã mở trước đó

fugyl13 tại gmail dot com

8 năm trước

Andres tại 21Brains dot com ¶

PHP tại haravikk chấm tôi ¶

5 năm trước

Chris at Ocproducts Dot Com ¶


Paul tại Mtnlist Dot Com ¶

9 năm trướcMarkdown to format your answer.

Paulieg ¶!ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

6 năm trước


Ẩn danh ¶

mysqli::connect

mysqli_connect

Nếu cần phải đặt các tùy chọn, chẳng hạn như thời gian chờ kết nối, phải sử dụng mysqli_real_connect () thay thế.

Gọi hàm tạo không có tham số giống như gọi mysqli_init (). -- mysqli::connect -- mysqli_connectOpen a new connection to the MySQL server

Lỗi "Không thể tạo ổ cắm TCP/IP (10106)" thường có nghĩa là Chỉ thị Cấu hình Biến Trên Windows, nếu môi trường không được sao chép, biến môi trường die()5 sẽ không có sẵn và PHP sẽ gặp vấn đề khi tải Winsock.

Phong cách hướng đối tượng

Phong cách thủ tục mysqli::__construct(
    string

Success... localhost via TCP/IP
1 = ini_get("mysqli.default_host"),
    string
Success... localhost via TCP/IP
2 = ini_get("mysqli.default_user")
,
    string
Success... localhost via TCP/IP
3 = ini_get("mysqli.default_pw")
,
    string
Success... localhost via TCP/IP
4 = ""
,
    int
Success... localhost via TCP/IP
5 = ini_get("mysqli.default_port")
,
    string
Success... localhost via TCP/IP
6 = ini_get("mysqli.default_socket")

)

Các ví dụ trên sẽ xuất ra một cái gì đó tương tự như: mysqli::connect(
    string

Success... localhost via TCP/IP
1 = ini_get("mysqli.default_host"),
    string
Success... localhost via TCP/IP
2 = ini_get("mysqli.default_user")
,
    string
Success... localhost via TCP/IP
3 = ini_get("mysqli.default_pw")
,
    string
Success... localhost via TCP/IP
4 = ""
,
    int
Success... localhost via TCP/IP
5 = ini_get("mysqli.default_port")
,
    string
Success... localhost via TCP/IP
6 = ini_get("mysqli.default_socket")

): void

mysqli_connect (& nbsp; & nbsp; & nbsp; & nbsp; chuỗi

Success... localhost via TCP/IP
1 = ini_get ("mysqli.default_host"), & nbsp; & nbsp; & nbsp; & nbsp; Chuỗi
Success... localhost via TCP/IP
3 = ini_get ("mysqli.default_pw"), & nbsp; & nbsp; & nbsp; & nbsp; chuỗi
Success... localhost via TCP/IP
4 = "" & nbsp; & nbsp; chuỗi
Success... localhost via TCP/IP
6 = ini_get ("mysqli.default_socket")): mysqli | false(
    string
Success... localhost via TCP/IP
1 = ini_get("mysqli.default_host")
,
    string
Success... localhost via TCP/IP
2 = ini_get("mysqli.default_user")
,
    string
Success... localhost via TCP/IP
3 = ini_get("mysqli.default_pw")
,
    string
Success... localhost via TCP/IP
4 = ""
,
    int
Success... localhost via TCP/IP
5 = ini_get("mysqli.default_port")
,
    string
Success... localhost via TCP/IP
6 = ini_get("mysqli.default_socket")

): mysqli|false

Thông số

root9

Có thể là tên máy chủ hoặc địa chỉ IP. Máy chủ cục bộ được giả định khi chuyển giá trị root0 hoặc chuỗi "localhost" cho tham số này. Khi có thể, các đường ống sẽ được sử dụng thay vì giao thức TCP/IP. Giao thức TCP/IP được sử dụng nếu tên máy chủ và số cổng được cung cấp cùng nhau, ví dụ: root1.root0 value or the string "localhost" to this parameter. When possible, pipes will be used instead of the TCP/IP protocol. The TCP/IP protocol is used if a host name and port number are provided together e.g. root1.

Trò chơi máy chủ bằng root2 mở ra một kết nối liên tục. mysqli_change_user () được tự động gọi trên các kết nối được mở từ nhóm kết nối.mysqli_change_user() is automatically called on connections opened from the connection pool.

root3

Tên người dùng MySQL.

root4

Nếu không được cung cấp hoặc root0, máy chủ MySQL sẽ cố gắng xác thực người dùng so với các bản ghi người dùng không chỉ có mật khẩu. Điều này cho phép một tên người dùng được sử dụng với các quyền khác nhau (tùy thuộc vào việc mật khẩu có được cung cấp hay không).root0, the MySQL server will attempt to authenticate the user against those user records which have no password only. This allows one username to be used with different permissions (depending on if a password is provided or not).

root6

Nếu được cung cấp sẽ chỉ định cơ sở dữ liệu mặc định sẽ được sử dụng khi thực hiện các truy vấn.

root7

Chỉ định số cổng để cố gắng kết nối với máy chủ MySQL.

root8

Chỉ định ổ cắm hoặc đường ống được đặt tên nên được sử dụng.

Ghi chú::

Chỉ định tham số root8 sẽ không xác định rõ ràng loại kết nối sẽ được sử dụng khi kết nối với máy chủ MySQL. Cách kết nối được thực hiện với cơ sở dữ liệu MySQL được xác định bởi tham số root9.

Trả về giá trị

MySQLI :: __ Construct () luôn trả về một đối tượng đại diện cho kết nối với máy chủ MySQL, bất kể nó có thành công hay không. always returns an object which represents the connection to a MySQL Server, regardless of it being successful or not.

mysqli_connect () trả về một đối tượng đại diện cho kết nối với máy chủ MySQL hoặc your_*1 khi lỗi. returns an object which represents the connection to a MySQL Server, or your_*1 on failure.

mysqli :: Connect () trả về root0 khi thành công hoặc your_*1 về thất bại. returns root0 on success or your_*1 on failure.

Errors/Exceptions

Nếu your_*4 được bật và nỗ lực kết nối với cơ sở dữ liệu được yêu cầu không thành công, thì mysqli_sql_exception sẽ bị ném.your_*4 is enabled and the attempt to connect to the requested database fails, a mysqli_sql_exception is thrown.

Ví dụ

Ví dụ #1 MySQLI :: __ Xây dựng () Ví dụmysqli::__construct() example

Phong cách hướng đối tượng

your_*5

Phong cách thủ tục

your_*6

Các ví dụ trên sẽ xuất ra một cái gì đó tương tự như:

Success... localhost via TCP/IP

Ví dụ #2 Mở rộng lớp MySQLI

your_*7

Ví dụ #3 Xử lý lỗi thủ công

Nếu báo cáo lỗi bị vô hiệu hóa, nhà phát triển có trách nhiệm kiểm tra và xử lý các lỗi

Phong cách hướng đối tượng

your_*8

error_reporting

die()0

Phong cách thủ tục

your_*8

error_reporting

die()3

Các ví dụ trên sẽ xuất ra một cái gì đó tương tự như:

Ghi chú::

Chỉ định tham số root8 sẽ không xác định rõ ràng loại kết nối sẽ được sử dụng khi kết nối với máy chủ MySQL. Cách kết nối được thực hiện với cơ sở dữ liệu MySQL được xác định bởi tham số root9.

Trả về giá trịmysqli_options() prior to calling mysqli_real_connect(), but after mysqli_init().

Ghi chú::

Chỉ định tham số root8 sẽ không xác định rõ ràng loại kết nối sẽ được sử dụng khi kết nối với máy chủ MySQL. Cách kết nối được thực hiện với cơ sở dữ liệu MySQL được xác định bởi tham số root9.mysqli_connect_error() function or the mysqli->connect_error property as in the preceding examples.

Ghi chú::

Chỉ định tham số root8 sẽ không xác định rõ ràng loại kết nối sẽ được sử dụng khi kết nối với máy chủ MySQL. Cách kết nối được thực hiện với cơ sở dữ liệu MySQL được xác định bởi tham số root9.mysqli_real_connect() must be used instead.

Ghi chú::

Chỉ định tham số root8 sẽ không xác định rõ ràng loại kết nối sẽ được sử dụng khi kết nối với máy chủ MySQL. Cách kết nối được thực hiện với cơ sở dữ liệu MySQL được xác định bởi tham số root9.mysqli_init().

Ghi chú::

Chỉ định tham số root8 sẽ không xác định rõ ràng loại kết nối sẽ được sử dụng khi kết nối với máy chủ MySQL. Cách kết nối được thực hiện với cơ sở dữ liệu MySQL được xác định bởi tham số root9.

Trả về giá trị

  • MySQLI :: __ Construct () luôn trả về một đối tượng đại diện cho kết nối với máy chủ MySQL, bất kể nó có thành công hay không.
  • mysqli_connect () trả về một đối tượng đại diện cho kết nối với máy chủ MySQL hoặc your_*1 khi lỗi.
  • mysqli :: Connect () trả về root0 khi thành công hoặc your_*1 về thất bại.
  • Nếu your_*4 được bật và nỗ lực kết nối với cơ sở dữ liệu được yêu cầu không thành công, thì mysqli_sql_exception sẽ bị ném.
  • Ví dụ

Ví dụ #1 MySQLI :: __ Xây dựng () Ví dụ

Phong cách hướng đối tượng

die()6

die()7

die()8

die()9

Phong cách thủ tục

Phong cách hướng đối tượng

mysqli0

mysqli1

die()9

Phong cách thủ tục

Các ví dụ trên sẽ xuất ra một cái gì đó tương tự như:

mysqli3

mysqli4

mysqli5

mysqli6

die()9

Ví dụ #2 Mở rộng lớp MySQLI

Các ví dụ trên sẽ xuất ra một cái gì đó tương tự như:

mysqli8

mysqli9

die()9

Ví dụ #2 Mở rộng lớp MySQLI

Ví dụ #3 Xử lý lỗi thủ công

E_FATAL_ERROR1

E_FATAL_ERROR2

die()9

Nếu báo cáo lỗi bị vô hiệu hóa, nhà phát triển có trách nhiệm kiểm tra và xử lý các lỗi

Ghi chú

E_FATAL_ERROR4

E_FATAL_ERROR5

die()9

MySQLND luôn giả định ký tự mặc định của máy chủ. Charset này được gửi trong quá trình bắt buộc/xác thực kết nối, mà MySQLND sẽ sử dụng.

Libmysqlclient sử dụng bộ ký tự mặc định được đặt trong my.cnf hoặc bằng một cuộc gọi rõ ràng đến mysqli_options () trước khi gọi mysqli_real_connect (), nhưng sau mysqli_init ().

E_FATAL_ERROR7

E_FATAL_ERROR8

die()9

Chỉ theo kiểu hướng đối tượng: Nếu kết nối không thành công, một đối tượng vẫn được trả về. Để kiểm tra xem kết nối có bị lỗi hay không, hãy sử dụng hàm mysqli_connect_error () hay thuộc tính MySQLi-> Connect_error như trong các ví dụ trước.

Nếu cần phải đặt các tùy chọn, chẳng hạn như thời gian chờ kết nối, phải sử dụng mysqli_real_connect () thay thế.

mysqli_connect(...)0

mysqli_connect(...)1

mysqli_connect(...)2

mysqli_connect(...)3

die()9

quản trị trang web tại Aryes dot fr ¶

7 năm trước

mysqli_connect(...)5

mysqli_connect(...)6

mysqli_connect(...)7

mysqli_connect(...)8

mysqli_connect(...)9

error_reporting0

error_reporting1

error_reporting2

error_reporting0

error_reporting4

error_reporting5

die()9

Linguafranca2003 tại Yahoo Dot Com ¶

7 năm trước

error_reporting7

error_reporting8

error_reporting9

Success... localhost via TCP/IP
00

Success... localhost via TCP/IP
01

Linguafranca2003 tại Yahoo Dot Com ¶

oleg tại mastak dot fi ¶

Success... localhost via TCP/IP
02

Success... localhost via TCP/IP
03

Success... localhost via TCP/IP
04

die()9