首页 > 解决方案 > 如何在字符串中输出 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”返回数据

在此先感谢您的帮助。

标签: php

解决方案


尝试将$weeknum$year放在双引号(“)而不是单引号(')中,如下所示 -

$whereclause = 'where WEEK = "$weeknum" AND YEAR = "$year";

单引号下的 As Variable 将被视为字符串而不是变量。


推荐阅读