Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/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
Php 我可以编写自己的mySQL函数用于mySQL查询吗?_Php_Mysql_Function - Fatal编程技术网

Php 我可以编写自己的mySQL函数用于mySQL查询吗?

Php 我可以编写自己的mySQL函数用于mySQL查询吗?,php,mysql,function,Php,Mysql,Function,我可以写一个自定义函数,在进行mySQL查询时可以调用它吗 我的数据库表包含“文件类型”和“文件名”字段。我想在返回结果之前对filename执行一个函数 $query = "SELECT filetype, MY_FUNCTION(filename) FROM table.."; $result = mysql_query($query); return $result 所以$result现在有了由MY_函数创建的新值。原始数据库数据将保持不变 好的-看来用户定义的函数是最好的选择。。。如何

我可以写一个自定义函数,在进行mySQL查询时可以调用它吗

我的数据库表包含“文件类型”和“文件名”字段。我想在返回结果之前对filename执行一个函数

$query = "SELECT filetype, MY_FUNCTION(filename) FROM table..";
$result = mysql_query($query);
return $result
所以$result现在有了由MY_函数创建的新值。原始数据库数据将保持不变

好的-看来用户定义的函数是最好的选择。。。如何编写自己的用户定义函数?我可以用PHP来写吗?我应该将函数保存在哪里,还是将其包含在全局文件中


谢谢

如果我理解正确,您想创建一个存储过程吗

是的,这叫做

这是一组已经预构建的函数,因此您可以检查某些函数是否符合您的需要

DELIMITER $$

CREATE FUNCTION MY_FUNCTION (FILENAME VARCHAR(255)) RETURNS VARCHAR(255)
DETERMINISTIC
NO SQL
BEGIN
       RETURN SUBSTR(filename, 1, 20);
END
$$


DELIMITER ;
要创建函数,只需将其代码(上面提供的sililar)粘贴到您喜爱的查询工具中,如
mysql.exe
mysql查询浏览器
phpmysqladmin

您可以在
C
SQL
中编写
UDF
。在后一种情况下,不需要编译器

我作为示例提供的函数是
sqludf
。它只返回文件名的第一个
20
字符


您可以在
sqludf
中使用任何
MySQL
函数您不能在PHP中编写用户定义的函数(或者至少不能在不编写调用脚本的包装器的情况下编写),因为UDF是作为本机代码加载的。

我认为他不想更改数据库中的数据,只需将更改应用到结果中即可(数据库之外).Hi-正确,我不希望数据库中的数据发生更改。谢谢。您不能在查询的“选择部分”中调用存储过程。您好,谢谢您的回答,我在哪里编写此代码…我是否需要编译一个C程序以从windows 2003服务器运行UDF?您知道关于此问题的好教程吗?或者您可以指导我使用pro吗许多thanksCustom函数都是在MySQL数据库中编写的,就像表一样。