Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript MySQL查询后无法运行js命令_Javascript_Php_Mysql_Node.js_Ibm Cloud - Fatal编程技术网

Javascript MySQL查询后无法运行js命令

Javascript MySQL查询后无法运行js命令,javascript,php,mysql,node.js,ibm-cloud,Javascript,Php,Mysql,Node.js,Ibm Cloud,我想从MySQL表中获取一个变量,并根据变量值打开我的web应用程序窗口。我在应用程序的服务器端对MySQL连接查询进行了编码。因此,当服务器连接建立时,上述流程可能会发生。 但是在获取变量值之后,代码不会向前运行,并且在调试模式下,光标以y的返回值结束。 请有人帮忙解决这个问题。提前谢谢 #!/usr/bin/env node 'use strict'; require('dotenv').config({silent: true}); var server = require('./ap

我想从MySQL表中获取一个变量,并根据变量值打开我的web应用程序窗口。我在应用程序的服务器端对MySQL连接查询进行了编码。因此,当服务器连接建立时,上述流程可能会发生。 但是在获取变量值之后,代码不会向前运行,并且在调试模式下,光标以y的返回值结束。 请有人帮忙解决这个问题。提前谢谢

#!/usr/bin/env node
'use strict';

require('dotenv').config({silent: true});

var server = require('./app');
var port = process.env.PORT || process.env.VCAP_APP_PORT || 8000;
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";

var def = function(){
server.listen(port, function() {
  // eslint-disable-next-line
  console.log('Server running on port: %d', port);
  return;
});
}

var X;
global.x = X;

var mysql = require('mysql');
var mysqlPool  = mysql.createPool({
  host     : 'localhost',
  user     : 'root',
  password : '',
  database : 'emp',
  debug    : true
});

var abc = function(){
 mysqlPool.getConnection(function(err, connection) { 
  connection.query("select exp from empid where id= 12345", function(err, rows){
  if(err) {
    throw err;
   } else {
    var y = rows[0].exp;
   }
  //connection.release(); 
  *return y;*
  });
 });
}

def();
abc();

if(abc > 2) {
  window.location.href = "http://www.w3schools.com";
}

您无法从回调返回值,因为您的
abc()
函数在运行
return
语句之前返回路径-请注意
return
从使用它的函数返回,而不是从某个外部函数返回

如果要在DB查询处理程序之外使用该值,可以返回承诺或使用回调

有关详细信息,请参见这些答案:


您是否在[0].exp;行获得值?是的,我正在按要求获取y值。只是在返回y语句后代码没有运行,我想感谢baao&rsp,它起到了作用,但现在我有另一个问题KSRSP起到了作用,但现在我有了另一个问题。打开url后,套接字将关闭。我想打开套接字,这样我就可以连续监视数据库,并根据数据库值弹出url。请帮忙。Thank.var abc=function(callback){mysqlPool.getConnection(function(err,connection){connection.query(qry,function(err,rows){if(err){throw err;}else{var y=rows[0].exp;console.log(y);callback(y);}}}def();abc(函数(y){console.log(y);if(y>2){opn(');}});