Используйте готовые заявления.Сначала создайте оператор с помощью функции odbc_prepare (), затем передайте ему параметры и выполните его с помощью odbc_execute ().
Это намного более безопасно и проще, чем экранирование строки самостоятельно.
Совет Льюиса Бассетта о PDO хорош, но можно использовать подготовленные операторы с ODBC, не переключаясь на PDO.
Пример кода, не проверено!
try {
$dbh = new PDO(CONNECTION_DETAILS_GO_HERE);
$query = 'SELECT id firstname secondname from user where id = :id';
$stmt = $dbh->prepare($query);
$stmt->bindParam(':id', $id, PDO::PARAM_STR);
$result = $stmt->execute();
$data = $stmt->fetchAll();
} catch (PDOException $e)
echo 'Problem: ', $e->getMessage;
}
Примечание: $ e-> getMessage ();может показывать вещи, которые вы не хотите раскрывать, поэтому вы, вероятно, захотите сделать что-то другое в этой строке, когда ваш код заработает.Тем не менее, это полезно для отладки.
Редактировать: Не уверен, что вам нужен пример PDO или ODBC, но в основном это то же самое для обоих.
Редактировать: Если вы меня отрицаете, оставьте комментарийи скажи мне почему.