непонятки

five

Новичок
непонятки

пытаюсь выполнить след. запрос:

lock tables users write; insert into users (familiya,imya,otchestvo,nik,email) values ('u','u','u','u','[email protected]') unlock tables;

выскакивает ошибка:
Запрос выполнить не удалось! -> Какая-то синтаксическая ошибка около '; insert into users (familiya,imya,otchestvo,nik,email) values (', в строке 1

в коде это выглядит так:
$sql="lock tables users write; ";
$sql=$sql."insert into users (familiya,imya,otchestvo,nik,email) values ('$u_familiya','$u_imya','$u_otchestvo','$u_nik','$u_email') ";
$sql=$sql."unlock tables;";
$result = @mysql($dbname,$sql) OR DIE ("Запрос выполнить не удалось! -> ".mysql_error() );
$u_id=@mysql_insert_id();

если убрать 'lock' и 'unlock' то все нормально.
подскажите плиз, где я ошибся?
 

five

Новичок
разобрался :)

вообщем надо писать, по другому не работает. Если не верите, посмотрите в коде у php-nuke:

// лочим таблицу
$sql="LOCK TABLES users WRITE";
mysql_query($sql);

// вставляем запись
$sql="insert into users (familiya,imya,otchestvo,nik,email) values ('$u_familiya','$u_imya','$u_otchestvo','$u_nik','$u_email')";
mysql_query($sql);

// получаем id этой записи, если надо
$u_id=@mysql_insert_id();

// разлочиваем таблицу
$sql="UNLOCK TABLES";
mysql_query($sql);


причем, слова те слова, которые выше написаны большими буквами и надо так писать, если буду написаны маленькими, то тоже не сработает.
 
Сверху