php - 如何在字符串中输出 PHP 变量值以用作 MySQL 查询的一部分?
问题描述
如何让这个案例在 php 中工作?
不工作的情况(我想工作的情况):我有一张表,我存储要在我的 php 代码中使用的 where 子句。
它作为字符串存储在表的字段中"WHERECLAUSE"
:
"where WEEK = '$weeknum' AND YEAR = '$year'"
我从表的字段“WHERECLAUSE”中选择字符串值放入变量中
php代码:
$TABLE = 'REASSORT';
$whereclause = "where WEEK = '$weeknum' AND YEAR = '$year'";
// create the select query
$query = "select * FROM $TABLE " . $whereclause;
当echo $query
我得到-->
select * FROM REASSORT where WEEK = '$weeknum' AND YEAR = '$year'
这不会从表“REASSORT”中返回任何数据,因为变量$weeknum
和$year
呈现为字符串。
我期望的工作案例:
PHP代码:
$whereclause = " where WEEK = '$weeknum' AND YEAR = '$year' ";
$query = "select * FROM $TABLE " . $whereclause;
当我回显 $query 我得到 -->
select * FROM REASSORT where WEEK = '4' AND YEAR = '2019'
并且从表“REASSORT”返回数据
在此先感谢您的帮助。
解决方案
尝试将$weeknum
和$year
放在双引号(“)而不是单引号(')中,如下所示 -
$whereclause = 'where WEEK = "$weeknum" AND YEAR = "$year";
单引号下的 As Variable 将被视为字符串而不是变量。
推荐阅读
- apache-kafka - Vert.x EventLoop 线程块 Inet6AddressImpl.lookupAllHostAddr
- ruby-on-rails - 在 Rails 控制器中检查 JSON 响应中的值
- sapui5 - 如何在 sapui5 文本或输入框中放置换行符?
- javascript - 来自 CORS 预检通道的 CORS 标头“Access-Control-Allow-Headers”中缺少令牌
- jquery - jQuery 选择页面重定向
- nativescript - 如何在 Nativescript 中将 base64 图像转换为 blob 或 dataURL
- reactjs - react-native-image-progress 的图片标签
- c# - C# 获取 xml 文件的 CDATA 中的节点
- ruby - 如何在 Ruby 中使用唯一的硬件 ID 保护我的代码?
- python - keras 自定义函数不会评估/编译/拟合