在c语言中执行mysql_query(&mysql,"call pro_t()\n");
delimiter $
DROP PROCEDURE IF EXISTS PRO_T $
CREATE PROCEDURE PRO_T()
BEGIN
set @A=CONCAT('SELECT * FROM A INTO OUTFILE ','''',@PATH_TRAN,'/AAA.TXT''');
PREPARE C FROM @A;
EXECUTE C;
INSERT INTO B VALUES(3);
END $
delimiter ;
就会报can't return a result set in the given context的错误,错误应该是因为有
PREPARE C FROM @A;
EXECUTE C;的缘故,但是怎么改正才能不报错(在mysql环境中这些存储过程是可以执行的)

解决方案 »

  1.   

    用mysql_connect("localhost", "root", "admin",1,131072)试试
      

  2.   

    不行,我在网上看到过这样的回复,但是你mysql_connect()参数个数都不对应啊,而且那个131072表示什么?
      

  3.   

    在php里
    mysql_connect ( [string server [, string username [, string password [, bool new_link [, int client_flags]]]]] )
    具体的client_flags
    #define CLIENT_LONG_PASSWORD 1 /* new more secure passwords */
    #define CLIENT_FOUND_ROWS 2 /* Found instead of affected rows */
    #define CLIENT_LONG_FLAG 4 /* Get all column flags */
    #define CLIENT_CONNECT_WITH_DB 8 /* One can specify db on connect */
    #define CLIENT_NO_SCHEMA 16 /* Don't allow database.table.column */
    #define CLIENT_COMPRESS 32 /* Can use compression protocol */
    #define CLIENT_ODBC 64 /* Odbc client */
    #define CLIENT_LOCAL_FILES 128 /* Can use LOAD DATA LOCAL */
    #define CLIENT_IGNORE_SPACE 256 /* Ignore spaces before '(' */
    #define CLIENT_PROTOCOL_41 512 /* New 4.1 protocol */
    #define CLIENT_INTERACTIVE 1024 /* This is an interactive client */
    #define CLIENT_SSL 2048 /* Switch to SSL after handshake */
    #define CLIENT_IGNORE_SIGPIPE 4096 /* IGNORE sigpipes */
    #define CLIENT_TRANSACTIONS 8192 /* Client knows about transactions */
    #define CLIENT_RESERVED 16384 /* Old flag for 4.1 protocol */
    #define CLIENT_SECURE_CONNECTION 32768 /* New 4.1 authentication */
    #define CLIENT_MULTI_STATEMENTS 65536 /* Enable/disable multi-stmt support */
    #define CLIENT_MULTI_RESULTS 131072 /* Enable/disable multi-results */
    #define CLIENT_REMEMBER_OPTIONS (((ulong) 1) << 31) 
      

  4.   

    这是在php里面,我的是在c里面,而且我找了一下那些.h文件,没有找到CLIENT_MULTI_STATEMENTS 和CLIENT_MULTI_RESULTS的定义