php - 将查询字符串中的正斜杠替换为反斜杠

标签 php mysql phpfox

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/

相关文章:

php - 解析错误 : syntax error, 文件意外结束,需要 elseif (T_ELSEIF) or else (T_ELSE) or endif (T_ENDIF)

mysql - 尝试在 mysql 中的文件名末尾添加 .jpg 时出错

video - PhpFox 3.7.7 视频转换 (mp4)

javascript - Codeigniter:在进入 Controller 之前验证数据

php - 在 PHP 中添加 Echo

javascript - 通过 PHP fpassthru() 加载 mp4/webm 的 Chrome HTML5 视频 : can't set currentTime?

mysql - 从 MySql 表中删除重复行

python - SQLAlchemy 的外键约束错误

phpFox 模板更改

html - 使 Phpfox 默认布局流体宽度?