dream1849 2014-10-17 08:03
浏览 20
已采纳

带字符串的MYSQL查询请参阅数据库中的值

I have MYSQL query like the below:

$sourcedata = mysql_fetch_array(
                mysql_query("SELECT Whereclause 
                               FROM generaltable 
                              WHERE ID = '1'"
                           )
                );

$Whereclause = $sourcedata['Whereclause'];

In "Whereclause" field from "generaltable" in database, consist of the below text:

WHERE username = '$_SESSION[username]'

Then I have other query:

$data = mysql_fetch_array(
                   mysql_query("SELECT * 
                                  FROM usertable 
                                       $Whereclause"
                              )
                        );

When I echo $data['username'], it is not showing anything.

If I copy the value from database to replace $Whereclause it is working fine, also if I replace '$_SESSION[username]' with 'admin' for example, it is working fine.

How can I solve this? Need your help please.

Thank you very much.

  • 写回答

2条回答 默认 最新

  • dqwcdqs358367 2014-10-17 08:08
    关注

    The problem you're having is that $Whereclause is a String, so it is not evaluated ('$_SESSION[username]' remains exactly as it is).

    You have to tell PHP to evaluate this string with the function eval():

    $data = mysql_fetch_array(
              mysql_query(
               eval("return \"SELECT * FROM usertable $Whereclause\";")
             )
            );
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥30 自适应 LMS 算法实现 FIR 最佳维纳滤波器matlab方案
  • ¥15 lingo18勾选global solver求解使用的算法
  • ¥15 全部备份安卓app数据包括密码,可以复制到另一手机上运行
  • ¥15 Python3.5 相关代码写作
  • ¥20 测距传感器数据手册i2c
  • ¥15 RPA正常跑,cmd输入cookies跑不出来
  • ¥15 求帮我调试一下freefem代码
  • ¥15 matlab代码解决,怎么运行
  • ¥15 R语言Rstudio突然无法启动
  • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像