Làm thế nào để kiểm tra nếu một truy vấn cơ sở dữ liệu có kết quả?


11

Làm cách nào để kiểm tra xem đoạn mã sau có kết quả không?

Tôi đã thử chức năng trống nhưng nó luôn trả về SAI


$query = db_select('my_table', 't');
$query->condition('code', 10)
      ->fields('t', array('cid'));
$result = $query->execute();

Câu trả lời:



1

Nếu bạn in, var_dump($result);bạn sẽ thấy $resultcó chứa truy vấn và các biến khác để nó không bao giờ trống.
Bạn có thể đặt $resulttrong một foreachvòng lặp để xem kết quả.

foreach ($result as $record) {
  var_dump($record);
}

Trong foreachvòng lặp, bạn có thể in kết quả với mã này.

foreach ($result as $record) {
  print $record->nid;
  print $record->title;
}

Nếu chỉ có một bản ghi là kết quả sử dụng mysql_fetch_array()để xử lý bản ghi.


Bạn có một lỗi đánh máy. Điều này nên làforeach ($result as $record) { var_dump($record); }
vanz

Với Drupal, đó là một lời khuyên tồi để đề xuất sử dụng chức năng MySQL. Trang web có thể đang sử dụng PosgreSQL, SQLite hoặc một công cụ cơ sở dữ liệu khác mà Drupal tương thích. Các chức năng cơ sở dữ liệu Drupal không yêu cầu một mô-đun để biết công cụ cơ sở dữ liệu được sử dụng từ phía bên.
kiamlaluno

0

Thử đi

while($record = $result->fetchAssoc()) {
print_r($record);
}
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.