虽然它工作得很好,但我想学习(我在网上阅读并寻找示例但找不到任何东西)如果我在下面提出的问题可能。正如您在我的函数中看到的那样,我连接 3 列以作为一个字符串返回,并在我的 PHP 代码中将其分解以使用它们。
我可以一次单独返回这 3 列而不在 PHP 中使用CONCAT_WS()
和不使用吗?explode
谢谢
我的 MYSQL 功能:
DROP FUNCTION IF EXISTS function_institute_university;
DELIMITER $$
CREATE FUNCTION function_institute_university (IN_partnership_id INTEGER(11))
RETURNS VARCHAR(250) DETERMINISTIC
BEGIN
DECLARE InsCode_UniID_UniCode VARCHAR(250);
SELECT
CONCAT_WS('~',
UPPER(institute.Code),
university.id,
UPPER(university.UnivAcronym)
) INTO InsCode_UniID_UniCode
FROM partnership
LEFT JOIN institute ON institute.id = partnership.iid
LEFT JOIN university ON university.id = partnership.uid
WHERE
partnership.id = IN_partnership_id AND
partnership.active = '1'
LIMIT 1;
RETURN InsCode_UniID_UniCode;
END$$
DELIMITER ;
我的 PHP 代码:
$sql = "SELECT function_institute_university(15)";
$runSql = mysql_query($sql);
if(@mysql_num_rows($runSql) == 1)
{
$newArray = mysql_fetch_array($runSql);
list($instituteCode, $universityID, $universityCode) = explode('~', $newArray[0]);
}