我正试图将一些MySQLi代码转换为Unity项目的PDO。我正在创建一个登录系统,我已经将MYSQLi的一些内容更改为PDO,但是在第33行出现了一个错误:
致命错误:调用未定义的方法PDOStatement::fetch_assoc()
我试图找到PDO版本的
fetch_assoc
发现这一点:
fetch(PDO::FETCH_ASSOC);
所以我把电话改成
while($row = $result->fetch(PDO::FETCH_ASSOC)) {
现在我的Unity DBcontroller有一个“Debug.Log(www.downloadHandler.text)”没有返回任何内容,登录消息也没有出现。。。你们这些巫师能告诉我下一步该去哪里吗?我想我应该说,当我使用MySQLi时,这个脚本运行得很好,但是我需要将它转换为这个项目的PDO。下面是代码:
<?php
$servername = "***";
$username = "***";
$password = "***";
$dbname = "***";
//variables submitted by user
$loginUser = $_POST["loginUser"];
$loginPass = $_POST["loginPass"];
// Create Connection
$conn = new PDO("mysql:host=***;dbname=***",
"***",
"***",
[PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]);
//Check Connection
if(!$conn){
die("Connection failed.");
}
$sql = "SELECT password FROM users WHERE username = '" . $loginUser . "'";
$result = $conn->query($sql);
if ($result->fetchAll() > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
if($row["password"] == $loginPass){
echo "Login Success. Welcome ", $loginUser, "!";
}
else{
echo "Wrong Credentials.";
}
}
} else {
echo "Username does not exist.";
}
$conn = null;
?>