HLFX.Ru Forum Страницы (2): [1] 2 »
Показать все 16 сообщений этой темы на одной странице

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Флуд (https://hlfx.ru/forum/forumdisplay.php?forumid=11)
-- PHP && MySQL (https://hlfx.ru/forum/showthread.php?threadid=3424)


Отправлено qpAHToMAS 22-05-2012 в 15:20:

PHP && MySQL

Нужна небольшая помощь по работе со SQL из PHP. Задача до безобразия смешная, подозреваю, что кода там на несколько строк.
Готовым помочь просьба отписаться в ICQ (в профиле), ну или сюда.


Отправлено XaeroX 22-05-2012 в 15:38:

Вопрос настолько сложный, что требует предварительной подготовки?
Выкладывай сюда, кто знает - ответит.

__________________

xaerox on Vivino


Отправлено qpAHToMAS 22-05-2012 в 16:36:

Цитата:
XaeroX писал:
Выкладывай сюда, кто знает - ответит.

Ок. Т.к. я нуб, то через HeidiSQL создал БД, в ней — таблицу, в таблице — один лишь integer (с именем "loads"), скриншот:


Задача: через PHP записать значение этого числа в переменную для последующей работы.

Я смог подключиться, выбрать БД, далее как я понимаю, надо выполнить "SELECT" команду через mysql_query(), но как она будет выглядеть? Более того, после mysql_query() надо будет еще делать какие-то манипуляции с mysql_num_rows() или подобными, вот здесь я и впал в ступор.
code:
<?php $link = mysql_connect("openserver", "mysql", "mysql"); if ($link) { // connected If (mysql_select_db("test", $link)) { // selected $result = mysql_query(); } mysql_close($link); } else { echo mysql_error(); } ?>


Отправлено XaeroX 22-05-2012 в 16:41:

Если тебе надо ровно одно поле из таблицы, тогда так:

$query_id = mysql_query("SELECT loads FROM icache_table");
$returnarray= mysql_fetch_array($query_id);
mysql_free_result($query_id);
$myphpvar = $returnarray['loads'];

Если же записей loads несколько, тогда надо перебирать все через mysql_fetch_array от 0 до mysql_num_rows($query_id).

__________________

xaerox on Vivino


Отправлено qpAHToMAS 22-05-2012 в 16:51:

XaeroX, такой код:

code:
<?php $link = mysql_connect("openserver", "mysql", "mysql"); if ($link) { // connected if (mysql_select_db("test", $link)) { // selected $query_id = mysql_query("SELECT loads FROM icache_table"); $returnarray = mysql_fetch_array($query_id); mysql_free_result($query_id); $myphpvar = $returnarray['loads']; } mysql_close($link); } else { echo mysql_error(); } ?>

Выдает:
Цитата:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in W:\html\test\www\check_version.php on line 8

Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in W:\html\test\www\check_version.php on line 9

Что не так?


Отправлено XaeroX 22-05-2012 в 16:56:

Проверь $query_id, если он равен 0, то ошибка в синтаксисе запроса.

__________________

xaerox on Vivino


Отправлено Дядя Миша 22-05-2012 в 16:57:

qpAHToMAS а как ты проффесионально работаешь в среде SQL, если не имеешь о ней ни малейшего представления?

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено XaeroX 22-05-2012 в 16:59:

И ещё вот так:
mysql_query("SELECT loads FROM icache_table", $link)

__________________

xaerox on Vivino


Отправлено qpAHToMAS 22-05-2012 в 17:06:

Цитата:
XaeroX писал:
Проверь $query_id, если он равен 0, то ошибка в синтаксисе запроса.

Охлол, проблема была в "icache_table", которые я от тебя скопировал , исправил, теперь $query_id содержит:
Цитата:
Resource id #3

Далее ошибок никаких нет, но:
code:
$returnarray = mysql_fetch_array($query_id); mysql_free_result($query_id); $myphpvar = $returnarray["loads"];

Тут $returnarray и $myphpvar пустые, почему? "loads" уж правильно написано и имеется в БД.

Цитата:
Дядя Миша писал:
qpAHToMAS а как ты проффесионально работаешь в среде SQL, если не имеешь о ней ни малейшего представления?

То, что я задумал лучше реализовать на SQL, а не на файлах, вот и пытаюсь сделать.


Отправлено Дядя Миша 22-05-2012 в 17:24:

А, полез в пограничную область.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено XaeroX 22-05-2012 в 17:48:

Цитата:
qpAHToMAS писал:
проблема была в "icache_table", которые я от тебя скопировал

Ну простите, я слово cache на автомате набираю
Цитата:
qpAHToMAS писал:
"loads" уж правильно написано и имеется в БД.

Проверяй num_rows чему равно. И вообще неплохо бы потестировать SQL-запросы сначала на имеющемся функционале, скажем, PHPmyadmin.

__________________

xaerox on Vivino


Отправлено qpAHToMAS 22-05-2012 в 18:07:

Цитата:
XaeroX писал:
Проверяй num_rows чему равно.

0.

Цитата:
XaeroX писал:
И вообще неплохо бы потестировать SQL-запросы сначала на имеющемся функционале, скажем, PHPmyadmin.

Через phpMyAdmin проверил БД, говорит "SQL-запрос был успешно выполнен", вообщем я думаю все впорядке. Только Индексов нет ("Индекс не определен!" написано при просмотре таблицы), я не знаю что это, но надеюсь, это не обязательная штука.

Еще, если в phpMyAdmin выполнить "SELECT `loads` FROM `icash_table`", то:
code:
MySQL вернула пустой результат (т.е. ноль строк). ( запрос занял 0.0004 сек. )


Отправлено XaeroX 22-05-2012 в 18:17:

а SELECT * FROM `icash_table` что возвращает?

__________________

xaerox on Vivino


Отправлено qpAHToMAS 22-05-2012 в 20:29:

Цитата:
XaeroX писал:
а SELECT * FROM `icash_table` что возвращает?


Отправлено XaeroX 22-05-2012 в 20:35:

А что, в таком случае, тебе не нравится?

__________________

xaerox on Vivino


Временная зона GMT. Текущее время 11:05. Страницы (2): [1] 2 »
Показать все 16 сообщений этой темы на одной странице

На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024