这很奇怪,查询执行得很好并将数据插入到表中,但我受影响的行显示在负面而不是1.是否有人知道为什么会发生这种情况?
connect.php:
<?php
error_reporting(0);
$db = new mysqli('localhost', 'root', 'pass', 'db');
?>
这是主要代码:
<?php
include 'connect.php';
include 'blowfish.php';
if($_POST['email'] == true)
{
if($db -> connect_errno)
{
echo "Could not connect to the database, please try again later...";
}
else
{
$email = $_POST['email'];
$query = "SELECT id FROM users WHERE email = ?";
$statmnt = $db -> prepare($query);
$statmnt-> bind_param("s",$email);
$statmnt-> execute();
$statmnt-> bind_result($result);
$statmnt-> fetch();
$statmnt-> reset();
if($result)
{
$id = $result;
$result = "";
$randomString = generateRandomString(50); // Generate random string
$query = "UPDATE users SET emailString = ? WHERE id =?";
$statmnt= $db -> prepare($query);
$statmnt-> bind_param("si",$randomString,$id);
$statmnt-> execute();
$statmnt-> bind_result($result);
$statmnt-> fetch();
$statmnt-> reset();
$test = $db -> affected_rows;
echo $test;
}
else
{
echo "That Email Address is not registered...";
}
}
}
else
{
echo "No Email received...";
}
?>
$ test返回&#34; -1&#34;
答案 0 :(得分:0)
在affected_rows
上致电reset()
或close()
功能之前,您应该获得$statmnt
值。