为什么mySQL concat在不同的平台上失败?

时间:2011-08-02 19:10:43

标签: php mysql

PHP正在返回错误:

"FUNCTION archemar_1.concat does not exist"

我的php文件中唯一一个调用concat函数的地方就在这里,如果这确实是问题。

$full_name = database::query("SELECT concat (fname, ' ', lname) from cr WHERE email='$email'");

此功能在我的本地xampp服务器上运行良好,但在我上传到生产服务器时却没有。这让我觉得这是一个平台问题perhpas与PHP或mySQL版本和我正在使用的语法有关。如果有更多信息。我需要发布它。

感谢。

3 个答案:

答案 0 :(得分:3)

尝试没有函数名和括号之间的空格:

$full_name = database::query("SELECT concat(fname, ' ', lname) from cr WHERE email='$email'");

有关详细信息,请参阅http://datacharmer.blogspot.com/2005/12/function-wellknownfunc-does-not-exist.html

答案 1 :(得分:2)

删除CONCAT和左括号之间的空格。这是一个MySQL挑剔的地方 - 如果你在函数名和开括号之间有一个空格,那么它就试图将它解析为用户定义的函数。内置函数不使用空格。

答案 2 :(得分:1)

 $full_name = database::query("SELECT concat_ws(' ', fname, lname) AS fullname
                               FROM cr 
                               WHERE email='$email'");
 $fullname['fullname'];