Я пытаюсь закрепить некоторые из своих PHP-кода и использовать подготовленные инструкции mysqli для лучшей проверки ввода пользователя и предотвращения инъекционных атак. Я перешел от mysqli_real_escape_string, так как он не убегает% и _ . Однако, когда я создаю свой запрос в качестве подготовленного оператора mysqli, тот же недостаток все еще присутствует. Запрос вытаскивает значение соты пользователей […]
Помогите. Я получаю 0 num_rows, но если я выполняю запрос в консоли, я получаю результаты. Я немного подготовлен к подготовке stmts. Вот мой код Класс подключения к базе данных: class DbConnection { const HOST = "localhost"; const USR = "root"; const PWD = ""; const DB = "club_db"; } Класс входа: class UsrLogin extends DbConnection […]
Mysql поддерживает подготовленные заявления следующим образом: http://dev.mysql.com/doc/refman/5.0/en/sql-syntax-prepared-statements.html Есть ли поддержка в Zend Framework (я не мог найти его) и как его использовать. Если нет, как бы вы реализовали подготовленные заявления как аддон Zend Framework.
Должен ли я использовать mysqli_real_escape_string или использовать подготовленные инструкции? Я видел учебник, объясняющий подготовленные заявления, но я видел, как они делают то же самое, что и mysqli_real_escape_string но он использует больше строк Существуют ли какие-либо преимущества для подготовленных заявлений? Как вы думаете, лучший метод для использования?
задаваясь вопросом, как я могу связать результаты подготовленного оператора PHP с массивом, а затем, как я мог их назвать. например, этот запрос $q = $DBH->prepare("SELECT * FROM users WHERE username = ?"); $q->bind_param("s", $user); $q->execute(); и это вернет результаты имя пользователя, адрес электронной почты и идентификатор. интересно, могу ли я связать его в массиве, а […]
Поэтому я просто изучаю базы данных, и я хочу иметь возможность хранить пользовательские входы. Может ли кто-нибудь дать мне базовый пример того, как получить данные формы и сохранить его в базе данных с помощью php? Также, делая форму защищенной от SQL-атак
Я хочу получить идентификатор вставленной строки в базе данных, но я не знаю, как это сделать. Я попытался вернуться с использованием предложения SQL RETURNING id , но не работает. Как я могу вернуть идентификатор после вставки строки?
Я пытаюсь уточнить разницу между $ stmt-> close () и $ stmt-> free_result () при завершении подготовленного оператора mysqli . До сих пор я использую: $mysqli = new mysqli(host,user,password,database); $stmt = $mysqli->prepare(sql statement); […] $stmt->free_result(); $mysqli->close(); и все работает нормально. Но я видел, что многие программисты используют $ stmt-> close вместо $ stmt-> free_result (). […]
Я хотел бы знать, могу ли я подготовить один оператор mysqli, который выполняет несколько запросов: mysqli->prepare(query1 …1,2,3 param…; query2…4,5 param…); or mysqli->prepare(insert into …1,2,3 param…; insert into…4,5 param…); and after all mysqli->bind_param("sssss", 1, 2, 3, 4, 5); Таким образом, он делает ошибку: вызовите функцию-член bind_param () для не-объекта в … $stmt = $sql->getQueryPrepare("INSERT INTO user […]
Я пытаюсь сделать систему входа в систему, используя AES_ENCRYPT() для кодирования моего пароля. Но у меня есть предупреждение от xdebug при попытке реализовать эти коды: … $key = 'd0gis=SUPER-cute'; $sql = "SELECT * FROM `users2` WHERE username = ? AND pwd = AES_ENCRYPT(?, ?)"; $stmt = $conn->stmt_init(); $stmt->prepare($sql); $stmt->bind_param('sss', $username, $password, $key); $stmt->execute(); $stmt->store_result(); … […]