0

MySql 代码

SELECT replace(replace(v.image_path,"\\","/"),"%s","_120") as image_path
FROM `artistkr_fox`.`phpfox_video` v;

我的phpfox服务文件查询字符串

$aVideos = $this->database()->select("REPLACE(REPLACE(v.image_path,'\','/'),'%s','_120') as image_path" . Phpfox::getUserField( )) ->from($this->_sTable, 'v') ->execute('getSlaveRows');

此查询无法返回任何值

此代码中的错误抛出“REPLACE(v.image_path,'\','/')”

4

1 回答 1

1

您需要确保没有混合 PHP 字符串和 SQL 查询的引号。

您可以通过在引号 ( \')前面使用反斜杠将它们转义来做到这一点

$query = 'SELECT replace(replace(v.image_path,"\\","/"),\'%s\',\'_120\') as image_path FROM artistkr_fox.phpfox_video v';

"或者对 PHP 字符串使用双引号 ( ),'对 SQL 查询使用单引号 ():

$query = "SELECT replace(replace(v.image_path,'\\\\','/'),'%s','_120') as image_path FROM artistkr_fox.phpfox_video v";

(注意当 PHP 字符串使用双引号时,您需要在我们的 SQL 查询中转义反斜杠)

您选择哪一个取决于您的偏好和情况(例如查询的复杂性)。

于 2014-05-21T10:00:39.000 回答