我知道这已被问过,但我似乎无法修复我的代码。 我需要的是运行一些php代码来查询mysql使用mysqli为选择语句来检索我的bcrypt散列通过,所以我可以比较用户输入和用户散列密码。注意:我还没有将mysql_real_escape_string添加到我的$ POST变量中。如何使用mysqli在php变量中存储mysql select语句
我已经改变了这个代码一千次仍不能得到它。 我甚至使用num_row 和printf($ row ['pass'])将一个简单的查询脚本复制并粘贴到一个新文件中;使用回声等.....我用过取数组ive尝试几乎所有我已经通过php的所有php的php.net w3c.com等等是我的系统坏了? mysqli是否有bug?没有我不想要切换到PDO我不会停止,直到这个是固定的,当不再有SQL注入vulns 继承人我的代码:
<?php
$conn = new mysqli('localhost', 'root', '', 'social');
if (mysqli_connect_errno())
{
exit("connection failed" . mysqli_connect_error());
}
else
{
echo "connection established";
}
$db=mysqli_select_db($conn,'social');
if ($_POST && isset($_POST['submit'], $_POST['password'], $_POST['email']))
{
$pass = ($_POST["password"]);
$email =($_POST["email"]);
$bcrypt = password_hash($pass, PASSWORD_BCRYPT, array('cost' => 12));
}
$query = "SELECT `pass` FROM `social` WHERE `email` = '[email protected]'";
$fetcher = mysqli_fetch_assoc($query);
echo $fetcher;
if ($conn->query($fetcher) === TRUE)
{
echo "query has gone through now we need to store the hash<br /> for comparison";
}
else
{
echo "error did not retrieve hash info";
}
你设置了很多变数,但不使用它们的查询后,从获取数据库中的值。目前还不清楚你的脚本正在做什么。这显然是一个登录脚本,但一切都是硬编码,你实际上并没有做任何验证 – Machavity
不验证,但我只是关心将MySQL的选择语句存储到PHP变量,所以我可以从数据库中使用哈希使用bcrypt验证类似于php.net – nate35795
另外,没有使用的变量集n仅仅是因为我已经在这两天了。你应该看到所有已注销的代码,我删除befor发布这个笑声... – nate35795