Запитання з тегом «prepared-statement»

Підготовлений звіт (або параметризований вираз) - це попередньо скомпільований вираз SQL, який служить для підвищення продуктивності та пом'якшення атак введення SQL. Підготовлені виписки використовуються у багатьох популярних Реляційних системах управління базами даних.

21
Чи можу я прив’язати масив до умови IN ()?
Мені цікаво дізнатись, чи можна прив’язати масив значень до заповнювача за допомогою PDO. Тут використовується випадок спроби передати масив значень для використання з IN()умовою. Я хотів би мати можливість зробити щось подібне: <?php $ids=array(1,2,3,7,8,9); $db = new PDO(...); $stmt = $db->prepare( 'SELECT * FROM table WHERE id IN(:an_array)' ); $stmt->bindParam('an_array',$ids); …

30
Альтернативи пункту "ReadyStatement IN"?
Які найкращі шляхи вирішення для використання INпункту SQL з екземплярами java.sql.PreparedStatement, який не підтримується для кількох значень через проблеми безпеки атаки введення SQL: один ?заповнювач заповнення представляє одне значення, а не список значень. Розглянемо наступний оператор SQL: SELECT my_column FROM my_table where search_column IN (?) По preparedStatement.setString( 1, "'A', 'B', …

6
Використання підказки "як" у підготовленій заяві
Я використовую підготовлені оператори для виконання запитів до бази даних mysql. І я хочу реалізувати функцію пошуку, засновану на сортування ключових слів. Для цього мені потрібно використовувати LIKEключове слово, стільки я знаю. І я раніше також використовував підготовлені заяви, але я не знаю, як це використовувати, LIKEоскільки з наведеного нижче …

9
Як підготовлені заяви захищають від атак на ін'єкції SQL?
Як підготовлені заяви допомагають нам запобігти атакам ін'єкції SQL ? У Вікіпедії сказано: Підготовлені оператори стійкі до введення SQL, тому що значення параметрів, які передаються пізніше за допомогою іншого протоколу, не повинні бути правильними. Якщо оригінальний шаблон заяви не отриманий із зовнішнього введення, ін'єкція SQL не може відбутися. Я не …

13
Як я можу отримати SQL підготовленого стану?
У мене є загальний метод Java із таким підписом методу: private static ResultSet runSQLResultSet(String sql, Object... queryParams) Він відкриває з'єднання, будує за PreparedStatementдопомогою оператора sql та параметрів у queryParamsмасиві змінної довжини, запускає його, кешує ResultSet(в а CachedRowSetImpl), закриває з'єднання та повертає кешований набір результатів. У мене є обробка виключень у …

22
Підготовлений PDO Вставляє кілька рядків в один запит
В даний час я використовую цей тип SQL в MySQL, щоб вставити кілька рядків значень в один запит: INSERT INTO `tbl` (`key1`,`key2`) VALUES ('r1v1','r1v2'),('r2v1','r2v2'),... Під час читання PDO заявка про використання повинна забезпечити менший захист, ніж статичні запити. Тому я хотів би знати, чи можна генерувати "вставлення декількох рядків значень …


1
mysqli_fetch_assoc () очікує помилок параметра / виклику функції члена bind_param (). Як отримати фактичну помилку mysql та виправити її?
У моєму локальному середовищі / розробці запит MySQLi працює добре. Однак, коли я завантажую його в середовище веб-хоста, я отримую цю помилку: Фатальна помилка: виклик функції члена bind_param () на не-об'єкті у ... Ось код: global $mysqli; $stmt = $mysqli->prepare("SELECT id, description FROM tbl_page_answer_category WHERE cur_own_id = ?"); $stmt->bind_param('i', $cur_id); …


2
Повторне використання PreparedStatement кілька разів
у випадку використання PreparedStatement з одним загальним підключенням без будь-якого пулу, чи можу я відтворити екземпляр для кожної операції dml / sql, що зберігає силу підготовлених операторів? Я маю на увазі: for (int i=0; i<1000; i++) { PreparedStatement preparedStatement = connection.prepareStatement(sql); preparedStatement.setObject(1, someValue); preparedStatement.executeQuery(); preparedStatement.close(); } замість: PreparedStatement preparedStatement = …

6
Java: Вставте кілька рядків у MySQL за допомогою PreparedStatement
Я хочу вставити кілька рядків у таблицю MySQL одночасно за допомогою Java. Кількість рядків динамічна. Раніше я робив ... for (String element : array) { myStatement.setString(1, element[0]); myStatement.setString(2, element[1]); myStatement.executeUpdate(); } Я хотів би оптимізувати це, щоб використовувати синтаксис, що підтримується MySQL: INSERT INTO table (col1, col2) VALUES ('val1', 'val2'), …

5
PreparedStatement setNull (..)
Java PreparedStatement надає можливість чітко встановити значення Null. Ця можливість: prepStmt.setNull(parameterIndex, Types.VARCHAR); Чи семантика цього виклику така ж, як при використанні певного setType з нульовим параметром? prepStmt.setString(null); ?

5
Приклад використання bind_result проти get_result
Я хотів би побачити приклад того, як дзвонити за допомогою bind_resultvs. get_resultта яка буде мета використання одного над іншим. Також плюси і мінуси використання кожного. Яке обмеження використання будь-якого і чи є різниця.

8
PHP - Використання PDO з масивом речень IN
Я використовую PDO для виконання оператора з INреченням, що використовує масив для своїх значень: $in_array = array(1, 2, 3); $in_values = implode(',', $in_array); $my_result = $wbdb->prepare("SELECT * FROM my_table WHERE my_value IN (".$in_values.")"); $my_result->execute(); $my_results = $my_result->fetchAll(); Наведений вище код працює чудово, але моє питання полягає в тому, чому це …

3
Оптимізація Oracle JDBC: увімкнення кешованої програми ReadyStatement у додатку Spring
У мене є програма Spring Boot REST, яка підключена до бази даних Oracle. Ми використовуємо JDBC за допомогою JdbcTemplate. Властивості бази даних Oracle отримуються за допомогою цих 3 параметрів application.properties : spring.datasource.url spring.datasource.username spring.datasource.password Ця програма використовує HikariCP. З веб-сайту HikariCP я дізнався, що цей пул не кешує PreparedStatements, оскільки …
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.