#1 29.03.10 13:58
[MySQL и PHP]Проблема с запросом INSERT
class Question {
var $id;
var $name;
var $id_a;
function __construct($id, $name, $id_a) {
$this->id = $id;
$this->name = $name;
$this->id_a = $id_a;
}
}
Question - название таблицы в базе с полями id, vopros,id_key и amount
function add_question($sql,$id_q,$name,$id_key){
$sql->sql_query('INSERT INTO Question Question.id, Question.vopros, Question.id_key, Question.amount VALUES '.$id_q.', '.$name.', '.$id_key.', '0'');
- вот на это ругается,говорит нельзя использовать различные символы и выдает ошибку
}
Исправлено Ponst (29.03.10 14:02)
Offline
#6 29.03.10 23:13
Re: [MySQL и PHP]Проблема с запросом INSERT
Подойдут
$sql->sql_query("INSERT INTO `Question` (`id`, `vopros`, `id_key`, `amount`) VALUES (".$id_q.", '".addslashes($name).", ".$id_key.", 0)");
Для всех нечисловых значений (строки, дата и т.д.) используй функцию addslashes(), числа в кавычки заключать не обязательно, после запроса точку с запятой ставить тоже не обязательно
Offline
#8 02.04.10 17:58
Re: [MySQL и PHP]Проблема с запросом INSERT
Ponst, $up, Кощей, predel.kawaiinosti, читайте больше маны по PHP и SQL, и чтобы не быть быдлом, читайте про sql инъекции.
бред тут какой-то понаписали.
и какой нафик addslashes? нужно юзать экранирование нативное для базы, поди у класса на который ссылается $sql даже есть метод типа escape.
$sql->sql_query("INSERT INTO Question (id, vopros, id_key, amount) VALUES (".intval($id_q).", '".$sql->sql_escape($name)."', ".intval($id_key).", 0)");
Offline
#10 02.04.10 22:40
Re: [MySQL и PHP]Проблема с запросом INSERT
Maq, про sql инъекции и экранирование знаем и используем. Так что твое именование всех подряд "быдлом", как минимум слишком поспешное. Как и откуда конструктору класса передаются входные переменные неизвестно, может они еще до создания объекта класса были проверены приведены к нужному виду. Да и вопрос был СОВСЕМ не в этом. Так что какой вопрос такой и ответ. Единственное - заметил в своем посте косяк - забыл поставить одинарные кавычки где $name.
Offline
#11 02.04.10 23:27
#12 03.04.10 22:21
Re: [MySQL и PHP]Проблема с запросом INSERT
Maq, Ты пишешь совсем не то, я нашел давно ошибку и она совсем проста, читай нормально...
Вот так мне надо было написать
$sql->sql_query('INSERT INTO Question (id,vopros,id_key,amount) VALUES ($id_q, '$name', $id_key, 0);
Так что вы тут развели дискуссию не по теме)
Тему можно закрыть
Offline
#13 08.04.10 17:24
#14 08.04.10 20:11
#15 10.04.10 00:14
#16 11.04.10 17:07
#17 11.04.10 17:09
#18 12.04.10 22:50
#19 13.04.10 01:47
Re: [MySQL и PHP]Проблема с запросом INSERT
Jaguar, лично я делаю так
Код: csharp:
using (var session = Session.Open(domain)) { using (var transactionScope = Transaction.Open()) { //SomeMethod(); var doc = Query.All<FilterEntity>().Where(f => f.Integer == 1).Prefetch(s => s.ItemGroup).Single(); var qwe = Query.All<User>().Select(u => new { u.Created }).ToList(); var subs = doc.ItemGroup.Where(g => true).ToList(); foreach (var sub in subs) { sub.Name = "1111"; } doc.ItemGroup.Add(new AnotherEntity(Guid.NewGuid())); doc.ItemGroup.Add(new AnotherEntity(Guid.NewGuid())); doc.ItemGroup.Add(new AnotherEntity(Guid.NewGuid())); var uuu = Query.All<User>().Select(u => new { u.Created }).OrderBy(a => a.Created).First(); } var fe = new FilterEntity(Guid.NewGuid()) { Date = DateTime.Now, Integer = 123 }; //var ss = Query.All<FilterEntity>().Where(f => f.NullableGuid.HasValue).Single(); fe.Integer = 2222; transactionScope.Complete(); } }
Исправлено XuMiX (13.04.10 01:47)
Offline
#20 13.04.10 11:32
#21 13.04.10 15:12
#22 14.04.10 13:40
#23 15.04.10 08:23
Re: [MySQL и PHP]Проблема с запросом INSERT
XuMiX написал(а):
Jaguar, лично я делаю так
Код: csharp:
using (var session = Session.Open(domain)) { using (var transactionScope = Transaction.Open()) { //SomeMethod(); var doc = Query.All<FilterEntity>().Where(f => f.Integer == 1).Prefetch(s => s.ItemGroup).Single(); var qwe = Query.All<User>().Select(u => new { u.Created }).ToList(); var subs = doc.ItemGroup.Where(g => true).ToList(); foreach (var sub in subs) { sub.Name = "1111"; } doc.ItemGroup.Add(new AnotherEntity(Guid.NewGuid())); doc.ItemGroup.Add(new AnotherEntity(Guid.NewGuid())); doc.ItemGroup.Add(new AnotherEntity(Guid.NewGuid())); var uuu = Query.All<User>().Select(u => new { u.Created }).OrderBy(a => a.Created).First(); } var fe = new FilterEntity(Guid.NewGuid()) { Date = DateTime.Now, Integer = 123 }; //var ss = Query.All<FilterEntity>().Where(f => f.NullableGuid.HasValue).Single(); fe.Integer = 2222; transactionScope.Complete(); } }
так вот он какой, "hello world!" на csharp!
Offline
#24 15.04.10 10:24
#25 15.04.10 15:55
Re: [MySQL и PHP]Проблема с запросом INSERT
XuMiX написал(а):
efferson, http://dataobjects.net/
До чего техника дошла :) И у тебя в конторе действительно используют это в продакшене? Нет, мне приходилось пару раз видеть использование Hibernate/Doctrine в бою на небольших Java/PHP проектах в новосибирских конторах... но на мой взгляд использование ORM - скорее исключение, чем правило. Хотя направление безусловно перспективное :)
Offline
#26 15.04.10 16:59
Re: [MySQL и PHP]Проблема с запросом INSERT
efferson написал(а):
но на мой взгляд использование ORM - скорее исключение
orly? ты серьезно?)
efferson написал(а):
И у тебя в конторе действительно используют это в продакшене?
пока на этапе разработки, но подобных решений море, скоро будет продакшн, самый настоящий Ъ ынтырпрайз)
Offline
#27 15.04.10 17:03
Re: [MySQL и PHP]Проблема с запросом INSERT
Matrim написал(а):
так вот он какой, "hello world!" на csharp!
Хотелось, конечно, изЪться, но не буду постить свой вариант хелловорлда)
Ограничусь ссылкой) http://lurkmore.ru/%D0%9F%D1%80%D0%BE%D … 1%81%D1%82
Исправлено XuMiX (15.04.10 17:11)
Offline

