单击按钮时,我的faktura.php脚本将触发。应该发生的是使用SQL从数据库中获取数据并回显该数据。但是在PDO的Execute函数上,出现错误“在期望条件的上下文中,在'AND'附近指定了非布尔类型的表达式”。发生。
我已经尝试过在SQL中运行查询,并且该查询可以运行,但是在脚本中却无法运行。
还可以指定在使用其他脚本登录该站点之前,我使用过一次database.php。
faktura.php
<?php
session_start();
require("config/database.php");
$fakturaView = "myView";
if(isset($_POST['fakturaBtn'])){
$fakturaNr = 50163;
$userID = 144;
$stmt = $pdo->prepare('SELECT * FROM :fakturaView WHERE :fakturaNr AND :userID');
$stmt->execute(['fakturaView' => $fakturaView, 'fakturaNr' => $fakturaNr, 'userID' => $userID]); //Where the exception occurs
$faktura = $stmt->fetch();
echo $faktura['userID'];
echo $faktura['fakturaNr'];
}
?>
database.php
<?php
$host = 'myhost';
$db = 'mydb';
$user = 'myuser';
$pass = 'mypass';
$dsn = "sqlsrv:Server=$host;Database=$db";
//$dsn = "sqlserv:host=$host;dbname=$db;charset=$charset";
$options = [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::SQLSRV_ATTR_ENCODING => PDO::SQLSRV_ENCODING_UTF8,
];
try {
$pdo = new PDO($dsn, $user, $pass, $options);
} catch (\PDOException $e) {
throw new \PDOException($e->getMessage(), (int)$e->getCode());
}
?>