[英]Variable in SQL Query Not Working?
if (isset($_SESSION['user_tz'])) {
$posted = "CONVERT_TZ(p.posted_on, 'UTC', '{$_SESSION['user_tz']}')";
} else {
$posted = 'p.posted_on';
}
// Run the query:
$q = "SELECT t.subject, p.message, username, DATE_FORMAT($posted, '%e-%b-%y %l:%i %p') AS posted FROM threads AS t LEFT JOIN posts AS p USING (thread_id) INNER JOIN users AS u ON p.user_id = u.user_id WHERE t.thread_id = $tid ORDER BY p.posted_on ASC";
我将查询中的$ post更改为一个简单的“ posted_on”,它返回了时间,我也尝试将其包装在''和“”中,但最终将它们完全破坏了。 为了将来参考,我想知道为什么该变量没有传递给查询。 这可能真的很简单,我会觉得很愚蠢,但将不胜感激。
谢谢。
NULL是isset()触发TRUE的有效值。 使用unset($_SESSION['user_tz']);
在我看来,您编写它的方式是将$ posted用作传递给date_format的值。 您真正想要的是$ posted的内容,因此您需要在其两边加上引号并将其值连接到$ q字符串中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.