好吧,我正在尝试开发一个程序,您需要了解什么:
$sql = $conn->prepare("SELECT NationID FROM Users WHERE UserEmail = '{email here}' AND 'NationPassword' = '{password here}'");
$sql->execute();
$result = $sql->setFetchMode(PDO::FETCH_ASSOC);
echo $result
最大的问题是该表具有以下内容:
“ NationID”:“ 8”“ NationName”:“ Kharim”“ UserEmail”:“ {在这里发电子邮件}”“ NationPassword”:“ {此处输入密码}”“ NationLocation”:“非洲”
但是我只想要NationID,我该如何处理。 (另一个错误,我认为可以由某个解释此问题的人解决,当前回显$ result字面意思只是返回“ 1”。因此,如果有人可以向我解释如何只读取其中的特定部分,而不是整个表,-使$ result不返回“ 1”将是惊人的。谢谢*旁注:只是为了避免您认为这是错误,{email here}和{password here}都代表我想隐藏的真实信息。*
代替setFetchMode()和fetchColumn(),您可以尝试如下操作。
$stmt = $conn->prepare("
SELECT `NationID`
FROM `Users`
WHERE `UserEmail`:email
AND `NationPassword`=:password
");
// Assign the values to the placeholder
$stmt->bindValue(':email', $email);
$stmt->bindValue(':password', $password);
$stmt->execute();
// Fetch possible result and return it as array
$result = $stmt->fetch(PDO::FETCH_ASSOC);
// Check if we have a result and print out
if (!empty(result)) {
echo $result['NationID'];
} else {
echo "No related entry";
bindValue()
或bindParam()
传递它。