Articles of sql

Объединение подготовленного оператора в функцию

Я читал статьи о SQL Injection и решил изменить свой код, чтобы предотвратить SQL-инъекцию. Например, у меня есть вход, который я вставляю в мою базу данных. Первоначально моя защита от инъекций была такой: function test_input($data) { $data = trim($data); $data = stripslashes($data); $data = htmlspecialchars($data); // $data = addslashes($data); $data = mysql_real_escape_string($data); return $data; } […]

Как я могу выполнить sql-скрипт с помощью CodeIgniter и передать ему данные?

У меня есть sql-скрипт для создания базы данных, и я хочу, чтобы при нажатии кнопки зарегистрировать его вызов на sql-скрипт, но перед переходом к sql-скрипту данные о том, как будет вызвана база данных. некоторые вроде этого: make_db ($ name_db);

PHP – рассчитать разницу между двумя датами

Я хочу рассчитать количество лет между двумя датами. Один из них извлекается из базы данных, а другой – из пользовательского ввода в формате даты. Я использовал этот код для получения даты от пользователя: $today = $_POST['to-day']; $tomonth = $_POST['to-month']; $toyaer = $_POST['to-year']; $dateto = date("$toyaer-$tomonth-$today"); И вот как я вычислил его с тем, который был […]

PDO не может сравнивать mysql ENUM с использованием целых чисел в подготовленных операциях

Я использую PDO и подготовленные операторы, но я не могу получить никаких результатов при сравнении поля ENUM с целым числом . Пример: $db = new PDO('mysql:host=localhost;dbname=****', '***', '***'); $s = $db->prepare('SELECT id FROM t2 WHERE lang = ?'); $s->execute(array('en')); // Works print_r($s->fetchAll()); $s->execute(array(2)); // Does not work print_r($s->fetchAll()); Я тестирую эту таблицу: DROP TABLE IF […]

Вставьте разные значения в массив в MySQL в тех же столбцах с помощью всего одной вставки

Как я могу это сделать: for ($i=0; $i<$number; $i++) { mysql_query("INSERT INTO blah (foo, bar) VALUES (".$array[$i].", 1)"); } Только с одним INSERT ? Является ли это возможным? PS: Я знаю, что mysql_query устарела.

Является ли библиотека PDO быстрее, чем собственные функции MySQL?

Я прочитал несколько вопросов по этому поводу, но я боюсь, что они могут устареть, поскольку выпущены новые версии библиотек PDO, так как на эти вопросы был дан ответ. Я написал класс MySQL, который строит запросы и экранирует параметры, а затем возвращает результаты на основе запроса. В настоящее время этот класс использует встроенные функции mysql. Я […]

Присоединиться к DELETE в MySql? Как?

У меня есть это: $query="DELETE FROM classified, $sql_table WHERE classified.ad_id = '$id' AND classified.classified_id = $sql_table.classified_id AND classified.poster_password='$pass'"; Я получаю эту ошибку: у You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE classified.ad_id = 'Bmw_M3_E46_Full_29920' AND classified.cla' at […]

Неопределенная ошибка переменной в моем скрипте PHP

В чем проблема с следующим кодом? Пожалуйста, помогите мне. Я хочу сопоставить admin-id и пароль из базы данных вместе с идентификатором входа и паролем обычных пользователей и далее хочу передать элемент управления соответствующим формам. Когда я запускаю этот код, он дает следующие ошибки: Примечание. Неопределенная переменная: userstatus в C: \ xampp \ htdocs \ xampp […]

Отображение 5 строк данных из запроса

У меня есть простая таблица (mgap_orders) с заказами клиентов. Несколько имеют один и тот же идентификатор (mgap_ska_id), и я просто хочу вытащить 5 записей из таблицы и отобразить все пять. Я могу легко получить одну запись со следующим запросом и PDO, но как я могу отобразить 5 строк вместо одной строки? $result_cat_item = "SELECT * […]

Что вызывает эту синтаксическую ошибку SQL

Когда я запускаю этот раздел функции, которая делает кликабельную ссылку из строки, содержащей ссылку $text = eregi_replace('(((f|ht){1}tp://)[-a-zA-Z0-9@:%_\+.~#?&//=]+)', '<a href="\\1">\\1</a>', $text); и попытаться вставить его в базу данных, я получаю следующую ошибку: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use […]