Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Làm cách nào để lấy giá trị từ truy vấn mysql bên ngoài câu lệnh truy vấn?

tl; dr mọi thứ xảy ra trong một cuộc gọi lại.

Bạn đang vấp phải tính chất không đồng bộ của Javascript. Theo thời gian console.log(value); của bạn cuộc gọi chạy, truy vấn không (nhất thiết) hoàn thành. Vì vậy, không có cách nào để kết quả của truy vấn có sẵn tại thời điểm đó.

Nhiều nhà phát triển sử dụng một mẫu như thế này, với chức năng gọi lại để xử lý bước tiếp theo khi kết quả truy vấn đến.

function quo (success){
    value = connection.query(
       'SELECT role from `roles` where `id` = 1' , 
       function (error, results, fields) {
           if (error) throw error;
           console.log('The role is: ', results[0].role);
           success (results[0].role);
       });
}

quo (function (role) {
   console.log(role);
   /* do something useful with the role that came back from the query */
});

Promise các đối tượng làm cho loại thứ này dễ đọc hơn trong node.js. Nhưng dù sao thì việc giải thích chúng cũng nằm ngoài phạm vi của câu trả lời Stack Overflow.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. định dạng ngày mysql với php

  2. Làm cách nào để tạo ứng dụng Android với cơ sở dữ liệu MySQL cục bộ?

  3. cách cập nhật cơ sở dữ liệu tuần tự bằng mysql

  4. Chạy SQL thô khi di chuyển

  5. Tạo một hàng trong bảng với các giá trị <td> từ DB PHP