我对PDO相当陌生。我正试图运行查询(Microsoft Sql Server)。最终,我将在WHERE后添加更多字段。
$complex = 'Shipping';
$username= 'username';
$password = 'password';
try {
$conn = new PDO('sqlsrv:Server=server,1433;Database=dbname', $username, $password);
$query = "SELECT DATA FROM TrimTable WHERE COMPLEX LIKE ?";
$stmt = $conn->prepare($query, array($complex));
$stmt->execute();
while($row = $stmt->fetch())
{
echo "$row'n";
}
} catch(PDOException $e) {
echo 'ERROR: ' . $e->getMessage();
}
我一直得到这个错误:
致命错误:在
中的非对象上调用成员函数execute()
我做错了什么?
我也试过了:
try {
$conn = new PDO('sqlsrv:Server=mzrefd39,1433;Database=ger_mapv', $username, $password);
$sth = $conn->prepare("SELECT AREA FROM TrimTable WHERE COMPLEX LIKE ?");
$sth->execute(array($complex));
$data = $sth->fetchAll();
print_r($data);
}
在我的页面我得到数组()。我没有得到任何值?
您可以在执行之前使用bindParam()
,试试下面的代码
$conn = new PDO('sqlsrv:Server=server,1433;Database=dbname', $username, $password);
$query = "SELECT DATA FROM TrimTable WHERE COMPLEX LIKE ?";
$stmt = $conn->prepare($query); // check $complex is removed from this line
$stmt->bindParam(1, $complex);
$stmt->execute();
使用bindParam();
for condition执行查询条件