[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Скрипт обработки числа
Malkolm
$query = mysql_query("select * from nomer where nomer"); // Запрос в таблицу
$odin = substr($query, 0, 3);
$dva = substr($query, 4, 6);
echo '<p>'.$dva.'</p>';
echo '<p>'.$odin.'</p>';

Народ помогите пожалуйста.Вообще суть такая.в базе с названием nomer и в столбике nomer лежит число "12345"(без кавычек).Это число нужно разделить на две части по 3 символа.Вроде бы все делаю правильно но получаю ответ

urce i

Res</span>

Кто нибудь сможеть обьяснить мою ошибку?



Спустя 21 минута, 41 секунда (25.11.2009 - 18:53) Romms написал(а):
no comment
почитай про запросы к базе данных...

Спустя 48 минут, 42 секунды (25.11.2009 - 19:41) Malkolm написал(а):
Значит ошибка все таки в запросе?

Спустя 3 минуты, 53 секунды (25.11.2009 - 19:45) Gabriel написал(а):
Malkolm
незнаю можно ли через бд такое сделать (наверное можно и это ПРАВИЛЬНЕЕ) ну а коль неумеем через бд то вынимаем число и делим его на 2 части (число НЕ запрос).

Спустя 3 минуты, 44 секунды (25.11.2009 - 19:49) Malkolm написал(а):
вот число уже делиться по двум частям

$odin = substr($query, 0, 3);
$dva = substr($query, 4, 6);

Но выводиться какая то фигня


urce i
Res

Спустя 9 минут, 18 секунд (25.11.2009 - 19:58) Romms написал(а):
да... если бы $query было бы числом у Вас всё заработало но это не так!!!!!!
$result = mysql_query("SELECT * FROM table");
while ($row = mysql_fetch_array($result, MYSQL_BOTH)) {
$odin = substr($row['nomer'], 0, 3);
$dva = substr($row['nomer'], 4, 6);
echo '<p>'.$dva.'</p>';
echo '<p>'.$odin.'</p>';
}

Вы бы сначала почитали про mysql_query mad.gif

Спустя 5 минут, 41 секунда (25.11.2009 - 20:04) Malkolm написал(а):
Цитата (Romms @ 25.11.2009 - 16:58)
да... если бы $query было бы числом у Вас всё заработало но это не так!!!!!!
$result = mysql_query("SELECT * FROM table");
while ($row = mysql_fetch_array($result, MYSQL_BOTH)) {
$odin = substr($row['nomer'], 0, 3);
$dva = substr($row['nomer'], 4, 6);
echo '<p>'.$dva.'</p>';
echo '<p>'.$odin.'</p>';
}

Вы бы сначала почитали про mysql_query mad.gif

Благодарю.скрипт заработал)

Спустя 1 день, 22 часа, 7 секунд (27.11.2009 - 18:04) Malkolm написал(а):
И снова я.
if (strlen($summa_pervich_trex_chisel) = 1 and strlen($summa_vtorix_trex_chisel) = 1)
{
if($summa_pervich_trex_chisel = $summa_vtorix_trex_chisel)
{
$a = 1;
}
else $a = 0;
}

Вообщем сайт ругается вот так
Fatal error: Can't use function return value in write context in C:\xampp\htdocs\dob2.php on line 71


А ругается он именно на эту строчку

if (strlen($summa_pervich_trex_chisel) = 1 and strlen($summa_vtorix_trex_chisel) = 1)


Вот подскажите допустима ли такая запись или моя ошибка в чем то другом?


Спустя 9 минут, 7 секунд (27.11.2009 - 18:13) deMone написал(а):
Знак "=" означает присваивание, а вам нужно сравнение — это знак "==".

Значит, вместо "=" в IF используйте "==", вот так:
if (strlen($summa_pervich_trex_chisel) == 1 and strlen($summa_vtorix_trex_chisel) == 1)
{
if($summa_pervich_trex_chisel == $summa_vtorix_trex_chisel)
{
$a = 1;
}
else $a = 0;
}

Спустя 15 минут, 8 секунд (27.11.2009 - 18:28) Malkolm написал(а):
Спасибо)неоценимая помощь.Сразу нашлось с 10 ошибок...

Спустя 1 день, 18 часов, 45 минут, 28 секунд (29.11.2009 - 13:14) Malkolm написал(а):
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\new\authmain.php on line 82


вот так вот ругается на эту строчку

if (mysql_num_rows($query) == 1)


вот он сам скрипт
<?php

if(isset($_POST['user']) && isset($_POST['pass']))
{
$userid = $_POST['user'];
$password = $_POST['pass'];

@ $db = mysql_connect('localhost', 'root', '24011993', 'site');
mysql_select_db(site) or die(mysql_error());

$query = ("select * from user where user='$userid' and password=sha1('$password') LIMIT 1");
if (mysql_num_rows($query) == 1)
{
session_start();
$_SESSION['valid_user'] = $userid;
}

}


?>
<?php

if (isset($_SESSION['valid_user']))
{
echo 'Вы вошли как '.$_SESSION['valid_user'].'';
echo '<a herf="logout.php">Выход</a>';
}
else
{
if (isset($userid))
{
echo 'Извините но вход невозможен';
}
else
{
echo 'Вы еще не вышли из системы';
}
}

?>


просьба тапками не бить.
где ошибка?

Спустя 38 минут, 13 секунд (29.11.2009 - 13:52) S{oRpiO написал(а):
Может я чегото непонял..

этим ты проверяеш есть ли данные в масиве???
if (mysql_num_rows($query) == 1)


Если да то пропиши

if (mysql_num_rows($query) != "" )

Спустя 19 минут, 3 секунды (29.11.2009 - 14:11) sergeiss написал(а):
S{oRpiO - я так понял, что автор вопроса просто "забыл" wink.gif написать mysql_query(), а почему-то решил, что запрос выполнится сам по себе.

Хотя, сначала надо запрос выполнить, и в функцию mysql_num_rows передать уже указатель, который вернет mysql_query.

Спустя 2 минуты, 40 секунд (29.11.2009 - 14:14) S{oRpiO написал(а):
Разумно чето я не заметил что запроса нет тольо соединение с базой

$query = mysql_query("SELECT * FROM user WHERE user='$userid' and password=sha1('$password') LIMIT 1");
if (mysql_num_rows($query) != "")

Спустя 15 минут (29.11.2009 - 14:29) Malkolm написал(а):
"SELECT * FROM user WHERE user='$userid' and password=sha1('$password') LIMIT 1"
А разве это не запрос в базу?)

Спустя 49 минут, 48 секунд (29.11.2009 - 15:19) sergeiss написал(а):
Цитата (Malkolm @ 29.11.2009 - 15:29)
А разве это не запрос в базу?

Это текст запроса.
Для выполнения запроса (текст которого ты подготовил) надо использовать mysql_query. А уже тот ресурс, что вернет mysql_query (в случае успешного выполнения), использовать для дальнейшей работы.

Спустя 1 час, 11 минут, 7 секунд (29.11.2009 - 16:30) S{oRpiO написал(а):
Ты написал
$query = ("SELECT * FROM user WHERE user='$userid' and password=sha1('$password') LIMIT 1");


но забыл дописать
mysql_query


вот нормальный запрос

$query = mysql_query("SELECT * FROM user WHERE user='$userid' and password=sha1('$password') LIMIT 1");


и кстати что это???

password=sha1('$password')


оне не далжно работать...

может всетаки так?
password='$password'


и в итоге получаем

$query = mysql_query("SELECT * FROM user WHERE user='$userid' and password='$password' LIMIT 1");

Спустя 55 минут, 12 секунд (29.11.2009 - 17:25) Malkolm написал(а):
password=sha1('$password')

у меня когда регестрируешсья пароль хэшируется.и вот он щас вытаскивает разхэшированый пароль

Спустя 4 минуты, 18 секунд (29.11.2009 - 17:29) sergeiss написал(а):
Цитата (Malkolm @ 29.11.2009 - 18:25)
'$password'
- это приципиально НЕВЕРНАЯ запись. Потому что в функцию будет передана строка $password - БЕЗ ПРЕОБРАЗОВАНИЯ, т.е. именно эти 9 букв и будут переданы!!!
Убери оттуда кавычки вообще. Выкини их и забудь, тут они не нужны.

Спустя 21 минута, 25 секунд (29.11.2009 - 17:51) Malkolm написал(а):
убрал.но что с ними что без одно и тоже.сайт продолжает авторизировать.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.