2012-10-04 35 views

Trả lời

7

của nó chỉ là một cách để kết nối với cơ sở dữ liệu của bạn:

$this->_Con = new mysqli($this->_DB['Server'],$this->_DB['User'],$this->_DB['Pass'],$this->_DB['DB']); 

sự khác biệt khi tôi kết nối sử dụng phương pháp này là gì. Nếu bạn sử dụng mysqli_init(), trước tiên nó sẽ khởi tạo đối tượng mysqli. Sau đó, sử dụng đối tượng bạn sẽ gọi real_connect() để kết nối với cơ sở dữ liệu. Nhưng khi bạn sử dụng new mysqli() bạn đang khởi tạo đối tượng mysqli bằng cách chuyển các giá trị kết nối dưới dạng tham số, Vì vậy, nó khởi tạo và kết nối cùng một lúc.

Lưu ý: Gọi hàm tạo không có tham số cũng giống như gọi mysqli_init().

Trong trường hợp đầu tiên bạn nhận được đối tượng kết nối làm giá trị trả về vì bạn đang gọi mysqli() hàm tạo với thông số. Vì vậy, bạn có thể chạy truy vấn trên đó. Nhưng trong trường hợp thứ hai của bạn, bạn cần phải lưu trữ các kết nối như thế này,

$con = $this->_Con->real_connect($this->_DB['Server'],$this->_DB['User'],$this->_DB['Pass'],$this->_DB['DB']); 

Sau đó chạy các truy vấn trên $con

+0

Vì vậy, bạn có nghĩa là $ tôi đây -> _ Con sẽ giống với phương pháp này 2 ?? Nhưng khi tôi cố gắng sử dụng phương pháp thứ hai, tôi đoán câu lệnh chèn của tôi không chèn hàng mới. Bạn có bất kỳ ý tưởng tại sao ?? –

+0

kiểm tra chỉnh sửa của tôi !! – Deepak

+1

@ user1650716 Nói chung bạn sử dụng * hoặc * đối tượng từ 'new mysqli()' * hoặc * cấu trúc từ 'mysql_init()'. Không phải cả hai. – staticsan

Các vấn đề liên quan