У меня есть эта проблема, в результате, я создал определенную пользователем функцию в php. Но у него есть некоторые проблемы. Позвольте мне уточнить. Предположим, я создал эту функциюсоздание пользовательской функции mysql в php
<?php
include 'db_connect.php';
$sql="DROP FUNCTION IF EXISTS testf";
$result=mysql_query($sql) or die (mysql_error());
$sql="CREATE FUNCTION testf() RETURNS text
DETERMINISTIC
READS SQL DATA
BEGIN
DECLARE Output text;
set Output='zzz';
RETURN output ;
END";
$result=mysql_query($sql) or die (mysql_error());
$sql="SELECT testf()";
$result=mysql_query($sql) or die (mysql_error());
$row=mysql_fetch_array($result);
echo nl2br($row[0]);
?>
выше работает нормально.
но следующее имеет ошибку:
<?php
include 'db_connect.php';
$sql="DROP FUNCTION IF EXISTS testf";
$result=mysql_query($sql) or die (mysql_error());
$sql="CREATE FUNCTION testf() RETURNS text
DETERMINISTIC
READS SQL DATA
BEGIN
DECLARE Output text;
DECLARE name text;
set Output='zzz';
set name='SELECT t_name for tbl_names where id=1';
RETURN output ;
END";
$result=mysql_query($sql) or die (mysql_error());
$sql="SELECT testf()";
$result=mysql_query($sql) or die (mysql_error());
$row=mysql_fetch_array($result);
echo nl2br($row[0]);
?>
я получаю эту ошибку: У вас ошибка в вашем SQL синтаксиса; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с 'SELECT t_Name FROM tbl_name WHERE id = 1; Выход RETURN; END 'в строке 9 Может ли кто-нибудь предложить решение ?, я застрял. Я знаю, что могу выполнить запрос «SELECT t_name для tbl_names, где id = 1», и передать результат в качестве параметра. Это будет работать, но я хочу избежать этого.