奇怪的sql错误,变量无法正确识别

时间:2012-05-19 21:50:19

标签: mysql variables select

我目前正处于这个问题的第二个小时,我无法解释,所以我只是简单地说明发生了什么。我不知道这是否重要,但我使用的是LinkedIN API来检索用户的linkedIn唯一ID。

用英语,我在做什么:

  1. 用户登录LinkedIn
  2. 我读入了用户的LinkedIn ID(从API返回)
  3. 如果数据库中存在ID,请说“hello”,如果没有,则显示一个要注册的表单
  4. 我遇到的问题:

    以下行有效且正确返回我在数据库中的1用户,其linkIn ID为OtOgMaJ2NM

    $company_data = "SELECT * FROM s_user WHERE `LI_id` = 'OtOgMaJ2NM'";
    

    以下查询不返回任何结果 - 使用表s_user中具有相同记录的相同数据库:

    $linkedIn_id = "<?js= id ?>";
    echo $linkedIn_id;  
    

    以下代码输出OtOgMaJ2NM,没有尾随空格。

    到目前为止一直这么好......当我这次使用变量运行查询时,没有记录返回!

    $company_data = "SELECT * FROM s_user WHERE `LI_id` = '$linkedIn_id'";
    

    补充说明: 当我echo $company_data使用变量时显示相同的查询,就像我使用查询的纯文本版本时一样。

    任何人都有任何想法吗?

    谢谢,

    埃文

2 个答案:

答案 0 :(得分:0)

我只能假设在回显变量时会剥离标记,因此当您将其与查询一起使用时,实际上是在说:

$company_data = "SELECT * FROM s_user WHERE `LI_id` = '<?js= OtOgMaJ2NM ?>'";

我可能错了,但您是否尝试从变量中删除标签?

答案 1 :(得分:0)

如果你在“”之间发送变量,MySQL引擎将按字面搜索$ linkedIn_id而不是其内容。 似乎你使用的是php,但我不确定正确的语法。看看文档。