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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Ошибка в mysql запросе

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Описание: Не могу получить последней id в таблице
Russer
Отправлено: 10 Февраля, 2015 - 13:19:35
Post Id


Гость


Покинул форум
Сообщений всего: 91
Дата рег-ции: Февр. 2015  


Помог: 1 раз(а)




Перепробовал уже все что мог , не могу справиться с задачей , нужно получить id последней записи таблицы с ее последующим выводом , при выполнение выдает ошибку Warning: mysql_query() expects parameter 1 to be string, object given in .. on line 14
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. // Хост
  3. $db_host = "localhost";
  4. // Имя базы данных
  5. $db_name = "dog";
  6. // Логин для подключения к базе данных
  7. $db_user = "root";
  8. // Пароль для подключения к базе данных
  9. $db_pass = "";
  10. // Подключаемся к бд
  11. $db = mysqli_connect ($db_host, $db_user, "", $db_name) or die ("Невозможно подключиться к БД");
  12. @mysqli_query ($db, 'set character_set_results = "utf8"');
  13.  // Получаем последний id в колонке.
  14. $query = mysql_query($db, " SELECT MAX(`id`) FROM `pn`") or die (mysql_error());
  15. // Выводим его
  16. echo $query;
  17. // Закрываем соединение
 
 Top
Sail
Отправлено: 10 Февраля, 2015 - 13:25:28
Post Id



Участник


Покинул форум
Сообщений всего: 1131
Дата рег-ции: Февр. 2014  


Помог: 57 раз(а)




Russer, определитесь уж, mysql, или mysqli используете... А то в 14-й строке вызов функции из одной библиотеки, а в 11-й, например - из другой.
 
 Top
GoDr
Отправлено: 10 Февраля, 2015 - 13:28:53
Post Id



Посетитель


Покинул форум
Сообщений всего: 446
Дата рег-ции: Янв. 2015  
Откуда: Тамбов


Помог: 17 раз(а)




запрос и идентификатор ещё бы местами поменять


-----
Система управления веб-содержимым Lotos CMS
 
 Top
Russer
Отправлено: 10 Февраля, 2015 - 13:37:41
Post Id


Гость


Покинул форум
Сообщений всего: 91
Дата рег-ции: Февр. 2015  


Помог: 1 раз(а)




Sail пишет:
Russer, определитесь уж, mysql, или mysqli используете... А то в 14-й строке вызов функции из одной библиотеки, а в 11-й, например - из другой.

Спасибо, не заметил даже! Но теперь другая проблема
Catchable fatal error: Object of class mysqli_result could not be converted to string in on line 16
Нужно в строку перевести, как я понимаю ?
(Добавление)
GoDr пишет:
запрос и идентификатор ещё бы местами поменять

Я попробовал но теперь выдает еще больше ошибок , и в другом файле делал запрос на добавление строк в таблицу , по этому же принципу , все работало... Может я и не прав.
 
 Top
GoDr
Отправлено: 10 Февраля, 2015 - 13:56:41
Post Id



Посетитель


Покинул форум
Сообщений всего: 446
Дата рег-ции: Янв. 2015  
Откуда: Тамбов


Помог: 17 раз(а)




а вот в mysqli_query всё наоборот

Цитата:
mysql_query ( string $query [, resource $link_identifier = NULL ] )
mysqli_query ( mysqli $link , string $query [, int $resultmode = MYSQLI_STORE_RESULT ] )

(Отредактировано автором: 10 Февраля, 2015 - 13:57:16)



-----
Система управления веб-содержимым Lotos CMS
 
 Top
Russer
Отправлено: 10 Февраля, 2015 - 14:00:15
Post Id


Гость


Покинул форум
Сообщений всего: 91
Дата рег-ции: Февр. 2015  


Помог: 1 раз(а)




Sail пишет:
Russer, определитесь уж, mysql, или mysqli используете... А то в 14-й строке вызов функции из одной библиотеки, а в 11-й, например - из другой.

Дописал строчку
$b = mysqli_fetch_row($query);
echo $b;
Теперь выдает просто Array.
(Добавление)
GoDr пишет:
а вот в mysqli_query всё наоборот

Цитата:
mysql_query ( string $query [, resource $link_identifier = NULL ] )
mysqli_query ( mysqli $link , string $query [, int $resultmode = MYSQLI_STORE_RESULT ] )

Спасибо буду знать!
 
 Top
GoDr
Отправлено: 10 Февраля, 2015 - 14:11:12
Post Id



Посетитель


Покинул форум
Сообщений всего: 446
Дата рег-ции: Янв. 2015  
Откуда: Тамбов


Помог: 17 раз(а)




Russer пишет:
Спасибо буду знать!
Не надо знать, забудь про MySQL вообще Улыбка
(Добавление)
Russer пишет:
Теперь выдает просто Array.
Выполни сам запрос в каком-нибудь менеджере: phpMyAdmin или HeidiSQl, и сможешь увидеть работает ли вообще запрос или выдаёт кучу ошибок

(Отредактировано автором: 10 Февраля, 2015 - 14:12:59)



-----
Система управления веб-содержимым Lotos CMS
 
 Top
Russer
Отправлено: 10 Февраля, 2015 - 14:20:00
Post Id


Гость


Покинул форум
Сообщений всего: 91
Дата рег-ции: Февр. 2015  


Помог: 1 раз(а)




GoDr пишет:
Russer пишет:
Спасибо буду знать!
Не надо знать, забудь про MySQL вообще Улыбка
(Добавление)
Russer пишет:
Теперь выдает просто Array.
Выполни сам запрос в каком-нибудь менеджере: phpMyAdmin или HeidiSQl, и сможешь увидеть работает ли вообще запрос или выдаёт кучу ошибок

Ну зачем же так то , я конечно понимаю , что научиться очень сложно , но хотя бы представления о ней для выполнения легких скриптов получить бы хотелось )
В том то и дело , что пробую через разные запросы в mysql и все они дают нужный результат!
 
 Top
GoDr
Отправлено: 10 Февраля, 2015 - 14:59:07
Post Id



Посетитель


Покинул форум
Сообщений всего: 446
Дата рег-ции: Янв. 2015  
Откуда: Тамбов


Помог: 17 раз(а)




Russer, я имел ввиду что MySQL устарел и больше не используется. И если ты учишься, то сразу начинай с современного Улыбка

и ещё, попробуй


Цитата:
mysqli_fetch_row() возвращает массив строк, соответствующих данным в выбранной строке результирующей таблицы, или NULL, если доступных строк больше нет.


-----
Система управления веб-содержимым Lotos CMS
 
 Top
Мелкий Супермодератор
Отправлено: 10 Февраля, 2015 - 15:39:38
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




GoDr пишет:
я имел ввиду что MySQL устарел и больше не используется

Всё-таки чтобы избежать путаницы, поясню эту фразу:
Сама СУБД MySQL пока ещё живая.
устарело расширение PHP для работы с MySQL, предоставляющее функции вида mysql_* и будет окончательно удалено уже в этом году.
mysqli - это другое расширение, его использовать можно. Так же как и PDO.


-----
PostgreSQL DBA
 
 Top
Russer
Отправлено: 11 Февраля, 2015 - 06:29:36
Post Id


Гость


Покинул форум
Сообщений всего: 91
Дата рег-ции: Февр. 2015  


Помог: 1 раз(а)




GoDr пишет:
Russer, я имел ввиду что MySQL устарел и больше не используется. И если ты учишься, то сразу начинай с современного Улыбка

и ещё, попробуй


Цитата:
mysqli_fetch_row() возвращает массив строк, соответствующих данным в выбранной строке результирующей таблицы, или NULL, если доступных строк больше нет.

Результат вот такой:
mysqli_result Object ( [current_field] => 0 [field_count] => 1 [lengths] => [num_rows] => 1 [type] => 0 )
Как я понимаю запрос проходит , но в виде объекта , и нужно как то передать его в строку?
(Добавление)
Может и не совсем корректно но решил через
printf ("ID новой записи: %d.\n", mysqli_insert_id($db));
Спасибо всем за помощь!
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB