Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Получить id
Форумы портала PHP.SU » » Вопросы новичков » Получить id

Страниц (1): [1]
 

1. Area - 08 Апреля, 2013 - 21:09:55 - перейти к сообщению
Можно ли при добавление записи в табл. Получить id или какое другое поле. Без лишних запросов?
2. Skycrafter - 08 Апреля, 2013 - 21:13:03 - перейти к сообщению
чуть чуть поподробней, ид чего? или код давай)
3. Area - 08 Апреля, 2013 - 21:17:59 - перейти к сообщению
Записал, добавил запись в таблицу. Запросом инсерт, можно ли получить сразу содержание полей данной записи. На данный момент нужно получить id, щас делаю еще 1 запрос для того чтоб узнать.Хотелось бы убрать данный запрос.
4. Skycrafter - 08 Апреля, 2013 - 21:26:37 - перейти к сообщению
ну так как ид скорее всего автоинкремент, то есть проставляется базой, а значит что бы его выдернуть нужен запрос. а все остальное что вы в базу инсертите можно в переменные распихать.
5. DelphinPRO - 08 Апреля, 2013 - 23:16:32 - перейти к сообщению
6. Area - 09 Апреля, 2013 - 06:31:20 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. $link = mysqli_connect("localhost", "тдтд", "тдтд", "тдтд");
  2. $query = "INSERT INTO post (titl) values ('тдтд')";
  3. mysqli_query($link, $query);
  4.  


Постоянно 0 выдает, что не так?
7. Skycrafter - 09 Апреля, 2013 - 07:19:59 - перейти к сообщению
посмотри данные в таблицу добавляются?
я попробывал у меня получилось)
8. DelphinPRO - 09 Апреля, 2013 - 08:39:20 - перейти к сообщению
Area пишет:
Постоянно 0 выдает, что не так?

Межет у вас ошибки отключены? пых или мускул ругаются, а вы не видите.
Код корректен. ID последней вставленной строки должен быть
9. Area - 09 Апреля, 2013 - 13:58:49 - перейти к сообщению
C этим получилось, теперь не выходит. Чтоб функция отдала данное id.
PHP:
скопировать код в буфер обмена
  1.        
  2. function access($USER, $PASSWORD, $NAME, $LOCATION = 'localhost')
  3. {        
  4.  
  5.     $this->db_id = @mysqli_connect($LOCATION, $USER, $PASSWORD, $NAME);
  6.     mysqli_query($this->db_id, "SET NAMES 'utf8'");
  7.  
  8.      return true;
  9. }
  10.        
  11.  
  12. function insert($table, $pol, $value)
  13. {
  14.       if(!$this->db_id)  $fff = $this->access(DB_USER, DB_PASS, DB_NAME, DB_HOST);             
  15.       $query = "INSERT INTO `".$this->prefix ."_". trim($table)."` (".$pol.") VALUES ".$value."";
  16.  
  17.        $this->query_list[] = array('num'   => (count($this->query_list) + 1));
  18.        $this->query_list['query'][] = $query;
  19.        
  20.         $this->query_num ++;
  21.         $this->prefix = DB_PREFIX;
  22.  
  23.         return mysqli_insert_id($fff);
  24. }
10. DelphinPRO - 09 Апреля, 2013 - 14:00:56 - перейти к сообщению
а че это $this->prefix сначала используется в запросе, а потом инициализируется?
11. Area - 09 Апреля, 2013 - 14:10:50 - перейти к сообщению
Хз, взял готовый класс.

Поменял на
CODE (htmlphp):
скопировать код в буфер обмена
  1.    return $this->db_id;

Вроде бы должно работать, но попрежнему выдает ошибку.
: mysqli_insert_id() expects parameter 1 to be mysqli, null given in
(Добавление)
Разобрался. Такой вот вопрос.
Как узнать время затраченное на запрос?
(Добавление)
И есть ли такая возможность, достать содержимое поля. Без использования mysqli_fetch_assoc? При селекте или обновлении.

 

Powered by ExBB FM 1.0 RC1