2016-01-12 4 views
-1

У меня есть текстовое поле для пользователей, чтобы ввести их описание о продуктах. Пользователь может ввести данные с апострофами. Итак, как я могу вставить эти данные в sql.Как вставить динамические текстовые данные с апострофом в sql

+0

Да, конечно, вы можете поместить данные в SQL –

+0

, как вы сейчас вставляете данные, которые генерируют ошибку? Опубликуйте свой PHP/SQL, который у вас есть. – Clay

+0

вы можете использовать str_replace(), чтобы изменить «на любое пользовательское # значение при повторном возврате их обратно, используйте функцию replace, чтобы сделать это нормальным» :) –

ответ

-1

Подготовленный оператор будет связывать значения безопасным способом, позволяющим вставлять значения с апострофами в вашу таблицу. Это также способ предотвратить SQL-инъекцию.

Вот пример простой способ выполнить это с помощью PDO библиотеки РНР:

$dsn = 'mysql:dbname=testdb;host=127.0.0.1'; 
$user = 'dbuser'; 
$password = 'dbpass'; 

try { 
    $dbh = new PDO($dsn, $user, $password); 
} catch (PDOException $e) { 
    echo 'Connection failed: ' . $e->getMessage(); 
} 
$prep = $dbh->prepare('INSERT INTO item(title, link) VALUES(?, ?)'); 
$prep->execute(array($title, $link)); 

Подробнее здесь: http://php.net/manual/en/pdo.prepare.php

PDO :: подготовить - Готовит заявление на исполнение и возвращает объект-постановка

Оператор SQL может содержать ноль или более имени (: имя) или маркер параметров вопросительного знака (?), для которых действительные значения будут заменены, когда участники т выполняется

1

Когда пользователь вводит описание продукта Вы получаете эту величину на «идентификатор или„имя“и магазин в variable.for например

$productDescription = $_POST['product']; 
$query="INSERT INTO XYZ VALUES($productDescription); 

В SQL COLUMN ТипДанных должен быть VARCHAR

1

Чтобы разрешить апострофы, возможно, вам придется использовать mysql_real_escape_string() или addlashes при вставке в базу данных. Подробнее об этих функциях читайте в Интернете. Эти функции очищают данные перед их помещением в базу данных. Прочитано this

Смежные вопросы