2013-01-02 60 views
0

我想从sql表中的条目初始化一个变量;这个条目是我查询过的。从SQL查询初始化PHP变量

//Grab user id from users.sql 
$quser = $db->query(" 
    SELECT * 
     FROM users //in this table is a column named userident 
     WHERE username = '$user' //this where conditional filters to a lone row   
");*/ 

我试图$var = $quser["ident"];,因为这是我怎么会显示在foreach()环表项,但这似乎并没有工作。

每个用户只有一个ident条目,所以当我用where来过滤查询时,它会导致一行。为什么我不能抓住入口并放置在变量中?

+0

无视最后的评论;我评论了这段代码,因此我可以在此期间处理其他事情。 – gator

+0

你说'在这个表中是一列名为userident',但你使用'$ quser [“ident”]' – kmkaplan

+0

对不起,我正在重命名的东西,因为我去。我试图在单行内的'ident'下找到条目。 – gator

回答

2

这是你需要做什么

  1. 执行查询
  2. 拿起第一排(如将只有一个行会这样的工作,否则做一个循环)
  3. 从生产

这里的行获取该列是一个例子

$quser = $db->query("SELECT * FROM users WHERE username = '$user'"); 
    $first_row=$quser->row(); 

    $reqdData=$first_row->ident; // Or whateber column you need 
+1

我认为上面的解决方案是完美的,但我想补充一个补丁 $ reqdData =($ first_row-> num_rows()> 0)?$ first_row-> ident:0; –

+0

有了这个,我得到了一个调用未定义方法PDOStatement :: row()的错误。 – gator