Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/292.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
MySQL查询与PHP函数比较?_Php_Mysql_Function - Fatal编程技术网

MySQL查询与PHP函数比较?

MySQL查询与PHP函数比较?,php,mysql,function,Php,Mysql,Function,我想做的是在执行MySQL查询时,将列数据传递到PHP函数中,并将结果与WHERE子句进行比较 类似的,我用PHP编写了slug()函数,我的查询类似于 SELECT * FROM articles WHERE slug(author) = "james-taylor"; 因此,查询将选择“author”列并将其传递给slug()函数,并将返回的数据与“james taylor”进行比较 有人有什么想法吗?提前感谢:)这是不可能的。但是您可以使用与PHP函数相同的功能。在mysql中没有直接使

我想做的是在执行MySQL查询时,将列数据传递到PHP函数中,并将结果与WHERE子句进行比较

类似的,我用PHP编写了slug()函数,我的查询类似于

SELECT * FROM articles WHERE slug(author) = "james-taylor";
因此,查询将选择“author”列并将其传递给slug()函数,并将返回的数据与“james taylor”进行比较


有人有什么想法吗?提前感谢:)

这是不可能的。但是您可以使用与PHP函数相同的功能。

在mysql中没有直接使用PHP函数的方法

您需要使用mysql字符串函数来复制mysql中的slug函数。()

另一个选项是有一个名为“slug”的字段,并使用php函数为表中的所有记录生成slug。然后你可以说“从slug='jamestaylor'的文章中选择*

$slug = slug('James Taylor');
$sql = "select * from articles where slug = '{$slug}'";

是的。当然,如果你想更新/更改/更正作者的姓名,这可能会很脆弱,这就是为什么大多数网站在URL中使用ID+slug而不仅仅是slug。建议你使用查询参数,而不是在SQL字符串中插入
$slug
。有一个名为“slug”的字段“是一个好的更简单的选择,我会用这个想法,非常感谢:)杜尔塔兹:你能解释一下这行中使用的花括号是什么意思吗->“从slug='{$slug}'的文章中选择*”;通常我会写这样一句话:“从slug=”的文章中选择*”$鼻涕虫"'"; - 只是好奇。。谢谢