Php Can';t使用adodb将字符串传递给MySQL存储过程

Php Can';t使用adodb将字符串传递给MySQL存储过程,php,mysql,adodb,Php,Mysql,Adodb,我使用adodb5调用此存储过程,但MySQL不理解$sealID是字符串 $db = NewADOConnection('mysql://'.DB_USER.':'.DB_PASS.'@'.DB_SERVER.'/'.DB_NAME); $sql = "CALL GetSeal($userID, $sealID, @result)"; $r = $db->Execute($sql); 当我从shell运行这个php时 TestGetSealProc.php 3155011 ZZZZNL

我使用adodb5调用此存储过程,但MySQL不理解$sealID是字符串

$db = NewADOConnection('mysql://'.DB_USER.':'.DB_PASS.'@'.DB_SERVER.'/'.DB_NAME);
$sql = "CALL GetSeal($userID, $sealID, @result)";
$r = $db->Execute($sql);
当我从shell运行这个php时

TestGetSealProc.php 3155011 ZZZZNLJSAYGZECWY
MySQL报告:

Unknown column 'ZZZZNLJSAYGZECWY' in 'field list'
ZZZNLJSAYGZECWY必须理解为字符串,但不能理解为列。如何修复它

更新:我存储过程的第一部分

    CREATE DEFINER=`root`@`localhost` PROCEDURE `GetSeal`(IN userID INT, IN sealID char(16), OUT result INT)
    BEGIN

        DECLARE imageCnt INT;
        DECLARE pointCnt INT;
        DECLARE puriCode varchar(256);
        DECLARE newImgID INT;
....

        DECLARE c_data CURSOR FOR
            SELECT TELEPHONE_NUMBER, IMG_FILENAME, SELECTION_FLG, PHOTOGRAPH_DATE, SEND_DATE
            FROM re_photograph_imgs
            WHERE SEAL_NUMBER = sealID
            AND IMG_FILENAME IS NOT NULL
            AND IMG_FILENAME != "";

别忘了引用。如果没有它们,空字符串将被解释为字段名:

$sql = "CALL GetSeal($userID, '$sealID', @result)";
                              ^       ^