在查询中使用echo

时间:2012-05-19 22:45:25

标签: php sql echo

我需要在登录时包含linkedIn API返回的对象的。当我将返回的ID的值赋给php变量时,我可以简单地echo支持输出正确ID的变量。但是,当我尝试在查询中包含存储ID的变量时,查询会逐字地读取linkedIn JS代码,而不仅仅是检索值。

好吧,根本没有任何意义,所以这是一个例子:

$someVar = "<?js= id ?>";
echo $someVar; // Outputs: MD93l2jdJ

$sql = "select * from myTable where my_col = $someVar";

在上述查询中,服务器正在将$someVar读取为<?js= id ?>而不是MD93l2jdJ

那么,我是否可以在查询中使用echo,如...

$sql = "select * from myTable where my_col = echo $someVar";

修改

<?js is LinkedIn Jargin - 请参见此处:https://developer.linkedin.com/documents/getting-started-javascript-api

谢谢!

4 个答案:

答案 0 :(得分:3)

我认为这比你期望的要复杂得多。我怀疑Linkedin查询是在页面的javascript中执行的,这意味着它是客户端的。 PHP在服务器端执行,早在客户端代码运行之前。这意味着您无法在PHP中访问此值,因为它尚未填充。

答案 1 :(得分:3)

问题是这种替换是由Javascript在客户端(即浏览器)上执行的。值MD93l2jdJ从未在您的服务器上存在。

答案 2 :(得分:0)

使用此查询:

$sql = "select * from myTable where my_col =" . $someVar;

答案 3 :(得分:0)

尝试

$sql = "select * from myTable where my_col = '$someVar'";

但是,您可能希望在将var放入其中之前准备好

$someVar = mysql_real_escape_string($someVar);
$sql = "select * from myTable where my_col = '$someVar'";