다음 기능은 PHP의 로그인 페이지에서 사용했습니다. 그것은 오류를 보여주는
"객체가 아닌 속성을 가져 오는 중 ..."
function Validate($userName,$encrypted_password,$dbh)
{
try{
echo ("".$userName."");
echo ("".$encrypted_password."");
$sql = "SELECT USERCODE,PWD FROM GUSER WHERE USERCODE = :uname AND PWD = :pwd";
echo $sql->error;
$query = $dbh->prepare($sql);
$query->bindParam(':uname',$userName,PDO::PARAM_STR);
$query->bindParam(':pwd',$encrypted_password,PDO::PARAM_STR);
$query->execute();
$rows = $query->fetch(PDO::FETCH_NUM);
echo ("".$rows."");
if($rows > 0){
echo "Login Successfull";
header("location: home.php");
}
else{
$errmsg_arr[] = 'Username and Password are not found';
$errflag = true;
}
if($errflag) {
$_SESSION['ERRMSG_ARR'] = $errmsg_arr;
session_write_close();
echo "Closed";
exit();
}
}
catch(PDOException $e) {
echo 'ERROR: ' . $e->getMessage();
}
//return $getValue;
}
누구든지 나를 도울 수 있습니까 .. 나는 PHP에 처음입니다 .. 제발 도와주세요
미리 감사드립니다
문자열은 객체가 아닙니다.
$sql = "SELECT USERCODE,PWD FROM GUSER WHERE USERCODE = :uname AND PWD = :pwd"; // STRING
echo $sql->error; // but you try to access it like it's an object
$sql
이다 string
는 같은 속성을하지 않도록 error
당신이처럼 액세스 할 수 없습니다 $sql->error
그것은 원시 값 유형이기 때문에.
이 줄을 삭제해야합니다.
echo $sql->error;
PDO에서 SQL 오류를 처리하려면 PHP에서 try-catch 구문을 사용해야합니다. PDO에서 오류 처리에 대한 자세한 내용은이 답변을 참조하십시오.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다