Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.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/0/mercurial/2.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
MySQL游标打开失败_Mysql_Cursor - Fatal编程技术网

MySQL游标打开失败

MySQL游标打开失败,mysql,cursor,Mysql,Cursor,因此,我试图设置一个mysql存储过程来处理游标,不管出于什么原因,游标无法打开,据我所知,它会导致SP停止。这是游标声明 DECLARE cur_networks CURSOR FOR SELECT td.name FROM drupal5.users u LEFT JOIN drupal5.term_user tu ON u.uid = tu.uid LEFT JOIN drupal5.term_data td ON td.tid = tu.tid WHERE u.uid =

因此,我试图设置一个mysql存储过程来处理游标,不管出于什么原因,游标无法打开,据我所知,它会导致SP停止。这是游标声明

  DECLARE cur_networks CURSOR FOR 
SELECT td.name FROM drupal5.users u 
LEFT JOIN drupal5.term_user tu 
ON u.uid = tu.uid 
LEFT JOIN drupal5.term_data td 
ON td.tid = tu.tid 
WHERE u.uid = tmpint;
tmpint是SP中先前声明的变量:

DECLARE tmpint int;
它的值在这里设置:

  SELECT t1.uid, t1.mail FROM drupal5.users t1 WHERE t1.name = Drupal_User_Name
      INTO tmpint, Drupal_Email;
然后我在脚本中做了很多其他的事情,所有这些看起来都很好,但是当我说到这一行时:

OPEN cur_networks;
一切都崩溃了。我在本文中启用了一些日志:


这很有效。如果我在OPEN命令之前终止输出,我可以看到一切看起来都正常工作。如果在OPEN命令后终止输出,则不会将任何内容保存到日志中,这表明行是问题所在。我不知道为什么。这可能是一些可笑的简单的事情,但我似乎看不出来。提前谢谢。如果有必要,我将发布更多SP以发现问题。

问题是权限问题。执行查询的MySQL用户没有对term_user或term_数据表的读取权限

这个故事的寓意是,如果一个应用程序正在执行您的SP,但它不工作,请确保尝试直接从MySQL控制台运行SP。这是从您的流程中获得反馈的唯一真实方式