我在使用PDO在MSSQL数据库上运行预备查询时遇到问题。我可以连接到数据库并运行没有参数的SELECT查询,但现在我试图用一个参数:user来运行简单的SELECT查询。但是,代码不会尽管肯定是有数据库行与该值返回任何值,下面是我使用的代码:PDO准备好的语句和MSSQL数据库运行不正确
$db = new PDO('dblib:host='.$dbHost.';dbname='.$dbName.';charset=utf8mb4',$dbUser, $dbPass);
$stmt = $db->prepare('SELECT * FROM customer WHERE email_address = :user ');
$stmt->bindValue(":user", $_SESSION["username"], PDO::PARAM_STR);
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
var_dump($result);
我收不到任何后续代码var_dump输出。我知道,在数据库中有一个正确的行,所以我尝试:
$stmt = $db->prepare("SELECT * FROM customer WHERE email_address = '[email protected]'");
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
var_dump($result);
然而返回仍然没有价值。我在PDO中做错了什么?如果我将这个确切的查询输入到它运行的查询栏中。