2014-10-20 109 views
0

我想从数据库中拉出一个值,并将其分配给一个php变量。所有的mysqli函数似乎都会拉一整行,而我想要那个行的一个值(例如ID,name,ect)。如何使用mysqli(php)获取单个数据库值?

这是我到目前为止有:

$result = mysqli_query($con, "SELECT * FROM test_table WHRE ID='" . $_GET['ID'] . "'"); 
    $row = $result->fetch_assoc(); 
    $test= $row['ID']; 
    echo $test; 

当我运行上面我没有得到任何输出; $ test未分配。什么是正确的命令为我的$ test变量赋值?

+0

请告诉我,var_dump($ row)的输出是什么; – hakiko 2014-10-20 16:20:24

+1

您有一个SQL注入漏洞。切勿将用户输入作为代码执行。 – David 2014-10-20 16:20:32

+1

而且您应该将错误处理添加到数据库调用中。 – jeroen 2014-10-20 16:20:51

回答

-1

您在youy忘记A E WHERE子句

$result = mysqli_query($con, "SELECT * FROM test_table WHERE ID='" . $_GET['ID'] . "'"); 
$row = $result->fetch_assoc(); 
$test= $row['ID']; 
echo $test; 

如果你的 'ID' 字段是一个整数,报价是没有必要的。

+0

我认为第一个错误是@Macbenrnie! – pollux1er 2014-10-20 16:27:42

+1

把SQL注入代码放在可以按原样复制/粘贴的答案中可能会被认为是有点不负责任的...... – David 2014-10-20 16:29:11

+0

谢谢macberni,它总是简单的东西!我发誓我盯着那个代码一个小时,从不说出来! @david,感谢提醒,我一定会对我的投入进行消毒。 – user3538411 2014-10-20 16:56:43