[英]PHP PDO with Microsoft SQL Server: Prepare Statement issues?
I am fairly new to PDO. 我对PDO相当陌生。 I am trying to run a query(Microsoft Sql Server).
我正在尝试运行查询(Microsoft Sql Server)。 Eventually i am going to add more fields after WHERE.
最终,我将在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();
}
I keep getting this error: 我不断收到此错误:
Fatal error: Call to a member function execute() on a non-object in
致命错误:在非对象中调用成员函数execute()
What am i doing wrong? 我究竟做错了什么?
UPDATE 更新
I tried this as well: 我也尝试过这个:
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);
}
In my page i get Array( ). 在我的页面中,我得到Array()。 I am not getting any values?
我没有任何价值吗?
You can use bindParam()
before execute, Try this code 您可以在执行之前使用
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();
Use bindParam();
使用
bindParam();
for condition to execute query for conditions 条件查询条件查询
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.