Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Не получается с делать возврат последнего вставленного id из INSERT-запроса
 
 автор: Dinya_1   (07.10.2011 в 17:30)   письмо автору
 
 

Не получается с делать возврат id при вставке

<?php 

//запрос к базе 
function sqldo($query)
{
  global 
$link
  
$myid=0;
  if(!
$linkmyconnect();
  if(
mysql_query($query) == falseerrreport("SQLDO: Не удалось выполнить Запрос:" $query);
  
preg_match('/^INSERT /'$query$ins);
  if(
$ins)   $myid = @mysql_insert_id($link);
  
mydisconnect();
  return 
$myid;
}

//Обработчик со вставкой данных
sqldo("INSERT INTO t_tovar SET name='"$_POST["name"] ."', date =NOW() ");

$back_id mysql_insert_id();
 
$update mysql_query("UPDATE tabl SET `id_ru`='$back_id'  WHERE id='$_POST[id_ru]'",$db);

//.......если ОК перенаправляю...
?>

Warning: mysql_insert_id() expects parameter 1 to be resource, null given in W:\home\....php on line 189

Warning: mysql_query() expects parameter 2 to be resource, null given in W:\home\...php on line 190

Warning: Cannot modify header information - headers already sent by (output started at W:\home\...php on line 206

  Ответить  
 
 автор: cheops   (07.10.2011 в 18:02)   письмо автору
 
   для: Dinya_1   (07.10.2011 в 17:30)
 

Функция mysql_insert_id() требует дескриптор результирующей таблицы, которую возвращает функция mysql_query($query). Передайте этот дескриптор внутри sqldo(), а снаружи отредактируйте формирование $back_id по следующей схеме
<?php
  
...
  
// Обработчик со вставкой данных 
  
$back_id sqldo("INSERT INTO t_tovar SET name='"$_POST["name"] ."', date =NOW() ");
  ...
?>

  Ответить  
 
 автор: Dinya_1   (07.10.2011 в 21:14)   письмо автору
 
   для: cheops   (07.10.2011 в 18:02)
 

Класно! Спасибо большое!

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования