我在使用 PDO 时遇到了一些问题。第一个问题是在我的连接字符串中,我不能使用在另一个文件中定义的变量(尝试包含和要求)。它给了我一个错误,并显示了具有变量名称而不是值的连接字符串(是的,尝试了单引号和双引号)。
第二个问题,更紧迫的是,我在尝试验证登录时遇到错误。我让它与旧的 mysqli 一起工作,所以我知道 html 是有效的,只是不是新的逻辑。附件是我正在使用的功能:
function validateuser($un, $em)
{
try
{
$db = new PDO("mysql:host=localhost;dbname=XX", 'aa', 'bb', array(
PDO::ATTR_EMULATE_PREPARES => false,
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
));
$stmt = $db->query("SELECT AcctType FROM usr WHERE LOGIN_ID=? or CONTACT_EMAIL=?;");
$stmt->execute(array(
$un,
$em
));
return $stmt->fetchAll(PDO::FETCH_ASSOC);
}
catch(exception $e)
{
echo $e;
}
}
我得到的确切错误是:
Exception 'PDOException' with message 'SQLSTATE[HY000]: General error: 2031 ' in db_backend.php:110 Stack trace: #0 db_backend.php(110): PDO->query('SELECT AcctType...') #1 newuser.php(42): validateuser('Nefer', 'neferitous@blah...') #2 {main}
提前致谢!!