- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要执行以下查询
switch($interval) {
case "1 month":
$interval = "1 month";
break:
case "1 year":
$interval = "1 year";
break:
}
db_query("SELECT fid FROM file_managed WHERE FROM_UNIXTIME(TIMESTAMP) <= DATE_SUB(NOW(), INTERVAL :interval)", array(":interval" => $interval))
此查询引发 SQL 错误,因为您可以看到在“1 个月”周围添加了单引号
执行的查询: 从 file_managed WHERE FROM_UNIXTIME(TIMESTAMP) <= DATE_SUB(NOW(), INTERVAL '1 个月') 中选择 fid
预期查询: 从 file_managed WHERE FROM_UNIXTIME(TIMESTAMP) <= DATE_SUB(NOW(), INTERVAL 1 个月) 中选择 fid
关于如何摆脱单引号有什么想法吗?
最佳答案
如果您有 $interval 变量的可信参数值(例如,它不是来自用户而是您填写的),您可以将其放置在 sql 字符串中而不是绑定(bind)它,如下所示:
$interval = "1 year";
db_query("SELECT fid FROM file_managed WHERE FROM_UNIXTIME(TIMESTAMP) <= DATE_SUB(NOW(), INTERVAL {$interval})");
它将运行下一个 SQL 查询:
string(95) "SELECT fid FROM file_managed WHERE FROM_UNIXTIME(TIMESTAMP) <= DATE_SUB(NOW(), INTERVAL 1 year)"
(在sql字符串周围使用双引号而不是单引号,让PHP解释器计算嵌套变量)
关于php - 摆脱 db_query() drupal 中的单引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36383950/
我正在 C++ 中使用 MySQL。我之前遇到过一个问题,mysql_query() 不是线程安全的( http://dev.mysql.com/doc/refman/5.1/en/c-api-thr
我正在尝试运行来自 Adminer 4.6.2 的以下查询,它给了我模糊的“语法错误”,没有更多详细信息: db_query("DELETE FROM {field_collection_item}
如何通过db_query排除未发布的节点? 我认为它们被定义为 SELECT * FROM `node` WHERE status = '1' 但是如何将其包含在下面的 drupal db_query
查询 SELECT * FROM foo WHERE bar REGEXP "foo-bar"; 按预期返回结果,但是在执行我认为在 Drupal 中等效的功能时 db_query("SELECT *
我需要执行以下查询 switch($interval) { case "1 month": $interval = "1 month"; break: case "1 year": $interval
所以我有这个代码: $query = "REPLACE INTO {tbl} SET a_id = %d, p_id = %d, comment = '%s'"; db_query($query,13
我在 drupal 模块中编写了以下代码。 echo ''; $data = db_query("SELECT uid, name, status, created, access FROM {use
是否可以从 db_query 结果中以字符串形式返回实际的 SQL 查询? 或者以其他方式从 db_query 获取返回的资源 ID 并获取 SQL 字符串? 编辑: 作为附录,我最近从 Devel
我有一个显示用户个人资料的 View (来自个人资料 2 模块)。每个用户最多有 3 个不同的配置文件。我想生成一个 View ,显示所有用户配置文件和每个用户的一行,并将所有配置文件字段组合在一行中
我有以下查询,我想将其设为参数化查询。 在数据库(mysql)中,数据类型为longblob。我如何在查询中表示它? db_query("UPDATE {tf_buyitframed} SET dat
在 Drupal 中,我可以按如下方式执行 SQL: $query_object = db_query("SELECT * FROM {nodes}"); 如果我知道查询只返回一个结果(所以只有 1
假设我有这段代码: $templatesf = $DB->query('SELECT * FROM templates WHERE category="something"'); 有没有办法使用 ja
当我在网站上运行此脚本时,即使输出显示查询成功(它暂时输出写出的删除查询),它也不会删除任何行。当我直接在 mysql 中运行查询时,它确实删除了行。 if (db_query("DELETE
我有以下名为“test”的 mysql 表。 假设它有如下数据, 现在我想获取用户的年龄,为此我使用以下查询.. SELECT DATE_FORMAT(NOW(), '%Y') - DATE_FORM
我正在尝试在自定义页面 Twig 中调用数据库中的一些字段。当我清除缓存时,它抛出,网站遇到意外错误。您能否提供有关如何在 drupal 8 上实现此操作的任何提示? 最佳答案 twig模板不支持直接
我是一名优秀的程序员,十分优秀!