PHP检索数据库值


PHP Retrieve Database Value

到目前为止我已经有了。。

if(isset($_POST['Decrypt']))
{
    $dbinary = strtoupper($_POST['user2']);
    $sqlvalue = "SELECT `value` FROM `license` WHERE `binary` = '$dbinary'";
    $dvalue = mysql_query($sqlvalue) or die(mysql_error());
}

我有一个字段,用户在其中输入经过加密的二进制代码。(加密部分有效)。这应该是从数据库中检索值。当我做这件事时,它没有显示值,而是显示"Resource id#11"。

您的报价没有错。事实上,到目前为止一切看起来都很好。

问题是,现在$dvalue只是SQL数据库的一个资源。你必须用另一行提取内容:

$dvalue = mysql_fetch_array($dvalue);

将来,您可能希望开始使用PDO或MySQLi,而不是mysql函数,因为从5.5.0开始,这些函数已被弃用。PDO和MySQLi的优势在于,它们提供了SQL注入的安全性,即用户通过输入类似x'; DROP TABLE members; --的内容来运行自己的SQL代码。

不再使用mysql_函数。它们已被弃用。请改用PDO或MySQLi。

话虽如此,您只是在运行查询,而不是检索任何结果。您必须调用类似mysqli_fetch_array的函数才能从mysqli_query将返回的资源ID中获取数据。

我的建议是回到教程和文档中,使用这些其他扩展再试一次。祝你好运

阅读本页:MySQL上的W3学校页面选择使用。基本上$dvalue是一个结果集id,您需要在另一个步骤中从数据库中实际获取数组。此外,mysql_*函数也被弃用。查找并使用mysqli_*函数。

while($row = mysqli_fetch_array($dvalue))
{
  echo $row['value'];
  echo "<br>";
}