【发布时间】:2021-04-03 16:56:31
【问题描述】:
有很多关于使用 str_replace 修改在 MYSQL 中使用变量的查询的示例,但我找不到解决我的问题的示例。
我正在调试以下用 PHP 和 MySQL 编写的遗留查询。
有点简化:
$sql = "SELECT * from MOVIES WHERE cat = '$cat'";
如果 cat 具有一定的价值,比如“动作”,我想检查“冒险”;
假设您从查询开始:
$cat = "action";
$sql = "SELECT * FROM MOVIES WHERE cat='$cat'";
我正在尝试修改查询:
$needle = "cat=".$cat;
$altcat = "adventure";
$altwhere = "cat=".altcat;
$sql = str_replace($needle,$altwhere,$sql); //NOTHING GETS REPLACED...NOT MATCHING Needle
我该怎么做?我认为问题与在 sql 字符串中使用空格或撇号有关,但无法使其正常工作。
感谢您的任何建议。
【问题讨论】:
-
您打算更换多少次?动作/冒险 = 1 次替换。
-
替换值,而不是整个条件。
if ($cat === 'action') { $cat = 'adventure'; }无论如何我宁愿你使用准备好的语句。
标签: php mysql str-replace