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') ->执行('getSlaveRows');
此查询无法返回任何值
error throw in this code "REPLACE(v.image_path,'\','/')"
最佳答案
您需要确保没有混淆 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 查询中的反斜杠)
您选择哪一个取决于您的偏好和情况(例如查询的复杂性)。
关于php - 将查询字符串中的正斜杠替换为反斜杠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23779771/