8
Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.
Tôi đang sử dụng hàm PHP mysqli_query
để chạy truy vấn
if [$result = $mysqli->query["SELECT * FROM data"]]
{
$count = $result->num_rows;
printf["Result set has %d rows.\n", $count];
$result->close[];
}
0.mysqli_query
trả về điều gì nếu truy vấn chạy thành công, nhưng truy vấn không tìm thấy trận đấu nào?
Dharman ♦♦
28.1K21 Huy hiệu vàng75 Huy hiệu bạc127 Huy hiệu đồng21 gold badges75 silver badges127 bronze badges
hỏi ngày 19 tháng 1 năm 2013 lúc 22:31Jan 19, 2013 at 22:31
1
Theo hướng dẫn:
Trả về sai khi thất bại. Để chọn thành công, hiển thị, mô tả hoặc giải thích các truy vấn mysqli_query [] sẽ trả về một đối tượng mysqli_result. Đối với các truy vấn thành công khác mysqli_query [] sẽ trả về true.
Một truy vấn chạy nhưng trả về không có kết quả nào vẫn được coi là "truy vấn thành công", vì truy vấn đã chạy trong cơ sở dữ liệu và một tập kết quả trống là một phản hồi hợp pháp. Điều này có nghĩa là truy vấn vẫn sẽ trả về một đối tượng
if [$result = $mysqli->query["SELECT * FROM data"]]
{
$count = $result->num_rows;
printf["Result set has %d rows.\n", $count];
$result->close[];
}
2 và nếu bạn kiểm tra số lượng hàng của nó [thông qua if [$result = $mysqli->query["SELECT * FROM data"]]
{
$count = $result->num_rows;
printf["Result set has %d rows.\n", $count];
$result->close[];
}
3 theo kiểu hướng đối tượng hoặc if [$result = $mysqli->query["SELECT * FROM data"]]
{
$count = $result->num_rows;
printf["Result set has %d rows.\n", $count];
$result->close[];
}
4 theo kiểu thủ tục] nó sẽ trả về 0.Đã trả lời ngày 19 tháng 1 năm 2013 lúc 22:38Jan 19, 2013 at 22:38
AgentConundrumagentConundrumAgentConundrum
20.1k6 Huy hiệu vàng62 Huy hiệu bạc99 Huy hiệu Đồng6 gold badges62 silver badges99 bronze badges
1
Một đối tượng
if [$result = $mysqli->query["SELECT * FROM data"]]
{
$count = $result->num_rows;
printf["Result set has %d rows.\n", $count];
$result->close[];
}
5, hơn là bạn có thể sử dụng mysqli_num_rows để đếm số lượng hàng được trả về. Vì thế:if[mysqli_num_rows[$query] > 0 ]{
// Do something
}
Đã trả lời ngày 19 tháng 1 năm 2013 lúc 22:33Jan 19, 2013 at 22:33
NielsnielsNiels
47.2K4 Huy hiệu vàng59 Huy hiệu bạc81 Huy hiệu đồng4 gold badges59 silver badges81 bronze badges
if [$result = $mysqli->query["SELECT * FROM data"]]
{
$count = $result->num_rows;
printf["Result set has %d rows.\n", $count];
$result->close[];
}
Từ tài liệu tham khảo:
Trả về sai khi thất bại. Để chọn thành công, hiển thị, mô tả hoặc giải thích các truy vấn mysqli_query [] sẽ trả về một đối tượng mysqli_result. Đối với các truy vấn thành công khác mysqli_query [] sẽ trả về true.
Đã trả lời ngày 19 tháng 1 năm 2013 lúc 22:35Jan 19, 2013 at 22:35
Tommaso Belluzzotommaso BelluzzoTommaso Belluzzo
22.6K7 Huy hiệu vàng69 Huy hiệu bạc95 Huy hiệu Đồng7 gold badges69 silver badges95 bronze badges
Hàm mysqli_query [] / mysqli :: Truy vấn thực hiện truy vấn đối với cơ sở dữ liệu. Syntax: Phong cách định hướng đối tượng Phong cách thủ tục Parameter:
hàm mysqli_query [] / mysqli :: truy vấn
mixed mysqli::query [ string $query [, int $resultmode = MYSQLI_STORE_RESULT ] ]
mixed mysqli_query [ mysqli $link , string $query [, int $resultmode = MYSQLI_STORE_RESULT ] ]
TênSự mô tảRequired/Optional liên kết Một định danh liên kết được trả về bởi mysqli_connect [] hoặc mysqli_init [] Yêu cầu chỉ cho phong cách thủ tục và tùy chọn cho phong cách định hướng đối tượng truy vấn Chuỗi truy vấn.data bên trong truy vấn nên được thoát đúng cách.
Data inside the query should be properly escaped.
Yêu cầu chỉ cho phong cách thủ tục và tùy chọn cho phong cách định hướng đối tượng Kết quả Hằng số mysqli_use_result hoặc mysqli_store_result tùy thuộc vào hành vi mong muốn. Theo mặc định, mysqli_store_result được sử dụng. Nếu bạn sử dụng mysqli_use_result Tất cả các cuộc gọi tiếp theo sẽ trả lại các lệnh lỗi không đồng bộ trừ khi bạn gọi mysqli_free_result [] với mysqli_async mysqli_poll [] sau đó được sử dụng để nhận kết quả từ các truy vấn như vậy.
If you use MYSQLI_USE_RESULT all subsequent calls will return error Commands out of sync unless you call mysqli_free_result[]
With MYSQLI_ASYNC [available with mysqlnd], it is possible to perform query asynchronously. mysqli_poll[] is then used to get results from such queries.
Không bắt buộc
Sử dụng: Phong cách thủ tục
mysqli_query[connection,query,resultmode];
Parameter:
sự liên quan | Chỉ định kết nối MySQL để sử dụng | Yêu cầu |
truy vấn | Chỉ định chuỗi truy vấn | Yêu cầu |
Kết quả | truy vấn
| Không bắt buộc |
Sử dụng: Phong cách thủ tục
Tên
Sự mô tả PHP 5, PHP 7
Bắt buộc / tùy chọn