Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Переменные в запросах к MySQL


Автор: Alucard 18.10.2006, 15:50
Вот прочитал мануальчик и всетаки непонял как вставлять переменные в СКЛ запросы....Например - 

$sqlSelect="SELECT * FROM table WHERE name=' ".$name." ' ";
или так - 
$sqlSelect="SELECT * FROM table WHERE name='$name' ";
или так - 
$sqlSelect="SELECT * FROM table WHERE name=".$name."";
или так -
$sqlSelect="SELECT * FROM table WHERE name='.$name.' ";
или так - 
$sqlSelect="SELECT * FROM table WHERE name="$name" ";
При magic_quoetes_gpc=on ....
Извиняюсь за "нубский" вопрос smile

Автор: Opik 18.10.2006, 15:55
Alucard, 
Все варианты никак не отличаются в плане безопастности.

А вот так уже лучше smile
Код

$sqlSelect="SELECT * FROM table WHERE name=' ".mysql_escape_string($name)." ' ";



Автор: Mal Hack 18.10.2006, 15:57
Цитата(Opik @  18.10.2006,  16:55 Найти цитируемый пост)
mysql_escape_string

my_real_escape_string.
А если 5 ПХП используется, то, через PDO->prepare.

Автор: Alucard 18.10.2006, 16:41
А нужно ли my_real_escape_string при включенных magic_quoetes_gpc ? Небудет наложения слэшей ?

Автор: Gold Dragon 18.10.2006, 17:40
Цитата(Mal Hack @  18.10.2006,  15:57 Найти цитируемый пост)
А если 5 ПХП используется, то, через PDO->prepare.

а чуть подробнее.. если будет ссылка, то предпочту на русский материал smile

Автор: Mal Hack 18.10.2006, 18:26
Цитата(Alucard @  18.10.2006,  17:41 Найти цитируемый пост)
Небудет наложения слэшей ? 

ТОчно не отвечу. Но я, лично, все magic_quotes отрубаю, дабы накладок не было и в нужном месте строку сам конвертирую.

Цитата(Gold Dragon @  18.10.2006,  18:40 Найти цитируемый пост)
а чуть подробнее.. если будет ссылка, то предпочту на русский материал smile 

http://php.net/pdo smile там и на русском есть. Если что, стучись, объясню. Лично мне их это нововедение очень понравилось

Автор: Gold Dragon 18.10.2006, 18:30
// offtop
Цитата(Mal Hack @  18.10.2006,  18:26 Найти цитируемый пост)
http://php.net/pdo  там и на русском есть

ну нифига себе русский  smile 

Автор: Mal Hack 18.10.2006, 18:41
Почему-то мне казалось что там по русски....
В общем, суть такая.
Вызываем запрос через prepare. Запрос на месте подстановки переменных указываем шаблон :имя
Затем через bindBaram или через execute драйвер все преобразует.

Автор: Gold Dragon 18.10.2006, 19:08
ладно, попробую разобраться

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)