PHP PDO с Microsoft SQL Server: проблемы с подготовкой операторов?
Я довольно новичок в PDO. Я пытаюсь выполнить запрос (Microsoft Sql Server). В конце концов я собираюсь добавить больше полей после ГДЕ.
$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);
}
На моей странице я получаю Array(). Я не получаю никаких значений?
1 ответ
Ты можешь использовать 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();
для условия, чтобы выполнить запрос для условий