PDA

Просмотр полной версии : Не выводит на страничку количество из таблицы. SW13


DMI3Y
09.09.2022, 16:33
Ребят помогите с проблемой. Не могу вывести на страничку количество l2money. Чтобы я не делал, всегда выдаёт 1. А хотя у меня их 500

PHP:



$l2money
=
$ldb
[
$_lid
]
-
>
result
(
$ldb
[
$_lid
]
-
>
query
(
"SELECT `l2money` FROM `accounts` WHERE `login`='{$controller->GetName()}'"
)
,
0
)
;


Стресс веб написан на PHP 7.0

Logan22
09.09.2022, 17:14
PHP:



$l2money
=
$ldb
[
$_lid
]
-
>
result
(
$ldb
[
$_lid
]
-
>
query
(
"SELECT `l2money` FROM `accounts` WHERE `login`='{$controller->GetName()}'"
)
,
0
)
;
var_dump
(
$l2money
)
;
exit
;


Cколько покажет?

м.б $l2money['l2money'] ?

DMI3Y
09.09.2022, 18:04
ничего. белый экран и надпись bool(true)



м.б $l2money['l2money'] ?


а при этом вместо единицы теперь слово array

Logan22
09.09.2022, 19:38
ничего. белый экран и надпись bool(true)


boolean true это и 1.

По этому и единица выводится.

Смотри что делает метод result, поищи соседний код где идет запрос SELECT `xxx` FROM `xxx` WHERE `xxxx`...

DMI3Y
09.09.2022, 20:06
boolean true это и 1.
По этому и единица выводится.
Смотри что делает метод result, поищи соседний код где идет запрос SELECT `xxx` FROM `xxx` WHERE `xxxx`...



PHP:



$online
=
$gdb
[
$sid
]
-
>
result
(
$gdb
[
$sid
]
-
>
query
(
"SELECT `online` FROM `characters` WHERE `account_name`='{$controller->GetName()}' AND `{$qList[$vList[$l2cfg["
gs
"][$sid]["
version
"]]]["
fields
"]["
charID
"]}`='{$charId}'"
)
,
0
)
;


вот соседний код

Mex-Vision
13.09.2022, 23:12
PHP:



$online
=
$gdb
[
$sid
]
-
>
result
(
$gdb
[
$sid
]
-
>
query
(
"SELECT `online` FROM `characters` WHERE `account_name`='{$controller->GetName()}' AND `{$qList[$vList[$l2cfg["
gs
"][$sid]["
version
"]]]["
fields
"]["
charID
"]}`='{$charId}'"
)
,
0
)
;


вот соседний код


По запросу видно, что считывается статус пользователя онлайн/оффлайн. Вполне возможно что в методе result идет какое-то преобразование типа, так что как сказал человек выше, смотрите в метод result, что он делает с запросом.

DMI3Y
14.09.2022, 12:20
По запросу видно, что считывается статус пользователя онлайн/оффлайн. Вполне возможно что в методе result идет какое-то преобразование типа, так что как сказал человек выше, смотрите в метод result, что он делает с запросом.


во всех result показывает одно и тоже - bool(true)

gawric
14.09.2022, 12:28
Вывести запрос в string и попробовать его на консольке mysql. Посмотреть что и куда конкретно он запрашивает.

Mex-Vision
16.09.2022, 22:20
во всех result показывает одно и тоже - bool(true)


Уже 2 раза вам посоветовали посмотреть метод result. Если делать этого не хотите, мы вам ничем помочь не можем.

DMI3Y
16.09.2022, 22:21
Уже 2 раза вам посоветовали посмотреть метод result. Если делать этого не хотите, мы вам ничем помочь не можем.


Как его посмотреть? Я просто не понимаю

Logan22
16.09.2022, 22:32
Как его посмотреть? Я просто не понимаю


два варианта, долгий и быстрый.

Долгий: - Ознакомиться с PHP и его ООП, и самому решить проблему.

Быстрый: - Уйти от StressWeb на другую рабочий движок.

Есть третий вариант, кому-то отстегнуть бабла, чтоб он решил проблему, однако решение проблем в SW похоже на попытку вычислить размер пингвина по колебанию айсберга, с которого он спрыгнул!

òbiòbi верифицированный пользователь.
16.09.2022, 22:33
@DMI3Y (https://forum.antichat.xyz/members/910471/), /dev/class.db.php

PHP:



function
result
(
$query_id
=
null
,
$rownum
=
0
)
{
if
(
$query_id
==
null
)
$query_id
=
$this
-
>
QueryResult
;
return
@
mysqli_data_seek
(
$query_id
,
$rownum
)
;
}


PHP: mysqli_result::data_seek - Manual (https://www.php.net/manual/ru/mysqli-result.data-seek.php)

Перемещает указатель результата на выбранную строку

www.php.net




mysqli_data_seek​mysqli_result::data_seek -- mysqli_data_seek — Перемещает указатель результата на выбранную строку
Возвращаемые значения​Возвращает true в случае успешного выполнения или false в случае возникновения ошибки.


используйте другой метод доставать данные или перепишите метод result