在通话中使用变量?

时间:2015-03-10 19:23:11

标签: php

有没有办法让这种情况发生?我的意思是阶段==变量?

$var1 = "1";
$var2 = "2";    
$where = $db->query('SELECT * FROM stages WHERE stage = $var1');
$chapter = $where[0]["$var1"];

编辑:得到了更多信息。 当我尝试运行这个时,我得到一个phpProvider的php错误,没有任何反应。如果我写

$where = $db->query('SELECT * FROM stages WHERE stage = 1');
$chapter = $where[0]["1"];

一切正常。我只是希望能够自动化这两个:)

1 个答案:

答案 0 :(得分:1)

如果您使用双引号而不是单引号,那么PHP会为您插入变量:

$var1 = "1";
$var2 = "2";    
$where = $db->query("SELECT * FROM stages WHERE stage = $var1");

但是如果$ var1是来自用户的东西,那么你不应该这样做以避免SQL注入。

我不清楚你的$where[0]["$var1"]去了哪里......你的意思是使用另一个变量吗?如果是这样,您正在使用PDO中的:var或mysqli中的?查找准备好的语句。