好吧,这让我感到困惑,我想知道如果有人可以启发我为什么它发生。我正在做一个登录页面,检查数据库中的匹配值,如果SELECT查询返回一个带有用户名和密码的匹配行,那么它将返回1的行数。我现在编码的方式是当我回显变量存储行计数它会回声26出于某种原因,我不知道为什么。如果有人可以看看代码,并解释我是否做错了什么,或者如果这是正常的行为,并且价值从何而来,我将不胜感激。PDO行数混淆
function checkLogin($conn,$myusername,$mypassword,$row,$row1){
try {
$sql = "SELECT COUNT(*) FROM CLL_users WHERE user_name = 'user' AND password = 'XXXX'";
if ($results = $conn->query($sql)) {
if($results->fetchColumn() > 0) {
$sql = "SELECT * FROM CLL_users WHERE user_name = 'user' AND password = 'XXXXX'";
foreach ($conn->query($sql) as $row)
{
$rowCount = count($row);
echo $rowCount;
print ("Username: " . $row['user_name'] . "<br>");
print ("Username: " . $row['password'] . "<br>");
}
echo $count;
}
else {
print "NO ROWS";
}
}
} catch (PDOException $e){
echo 'Connection failed: ' . $e->getMessage();
}
}
好吧,我可能已经想通了,但如果有人可以证实,这将是真棒,我思考它,因为我调用了'select'语句两次,并且我的数据库中有13行,所以2x13 = 26这个假设是否准确? – Yamaha32088