Bạn đang trộn kiểu hướng đối tượng và kiểu thủ tục của API mysqli:
Bạn đang sử dụng hướng đối tượng:
$result = new mysqli('localhost', 'user', 'password', 'db');
Và, sau đó, thủ tục:
echo "Error with MySQL Query: ".mysqli_error();
Bạn nên sử dụng OO hoặc thủ tục - nhưng không phải cả hai; và nếu bạn chọn thủ tục, các hàm sẽ yêu cầu mã định danh liên kết được chuyển dưới dạng tham số.
Ví dụ: mysqli_error
nên được gọi bằng cách sử dụng API hướng đối tượng:
$link = new mysqli(...);
echo $link->error;
Hoặc API thủ tục:
$link = mysqli_connect(...);
echo mysqli_error($link);
(Tất nhiên, nó sẽ không thay đổi thực tế là bạn đang gặp lỗi trong truy vấn SQL của mình, nhưng nó sẽ cho phép bạn nhận được thông báo lỗi, điều này sẽ giúp tìm ra nguyên nhân của lỗi đó)