Товарищи, подскажите, в чем может быть загвоздка - второй день бьюсь над этим вопросом - запрос выполняется, а в цикле ничего не выводит.
$q="SELECT * FROM users WHERE name='$name' LIMIT 1;";
$r=mysqli_query($db_connect,$q);
while ($row = mysqli_fetch_array($r))
{
$id=$row['id'];
$passw=$row['pass'];
$rule=$row['rule'];
echo"$id $passw $rule";
}
Переменная $name не пустая, до запроса проверял. К базе коннектится.
Спустя 3 минуты, 39 секунд (25.07.2010 - 10:59) zvezda_t написал(а):
LIMIT 1
только одна запись?
только одна запись?
Спустя 45 секунд (25.07.2010 - 11:00) Basili4 написал(а):
ну новерно поэтому
$r=mysqli_query($db_connect,$q);
while ($row = mysqli_fetch_array($enter_r))
обрат внимание на переменную $enter_r и подумай не поможет пиши
$r=mysqli_query($db_connect,$q);
while ($row = mysqli_fetch_array($enter_r))
обрат внимание на переменную $enter_r и подумай не поможет пиши
Спустя 42 секунды (25.07.2010 - 11:01) Basili4 написал(а):
zvezda_t
Я думаю и без limit он бы получил 1 запись
Я думаю и без limit он бы получил 1 запись
Спустя 6 минут, 55 секунд (25.07.2010 - 11:08) nigga-popl написал(а):
и с лимитом, и без лимита, и там я тоже исправил ($enter_r)
Спустя 3 минуты, 2 секунды (25.07.2010 - 11:11) Basili4 написал(а):
ты не чего не перепутал ты используешь mysqli не mysql я сразу не заметил но теперь вижу дело в том что mysqli имеет другую чтруктуру получения результатов там другие функции используются. уточни какую БД ты используешь
Спустя 6 минут, 14 секунд (25.07.2010 - 11:17) nigga-popl написал(а):
mysql 5.1.40-community
Версия MySQL-клиента: mysqlnd 5.0.5-dev - 081106 - $Revision: 289630 $
php 5.3.1 по-моему
попробовал, кстати, конструкцию вида
аналогичный результат((
Версия MySQL-клиента: mysqlnd 5.0.5-dev - 081106 - $Revision: 289630 $
php 5.3.1 по-моему
попробовал, кстати, конструкцию вида
while ($row = mysqli_fetch_array($r, MYSQLI_ASSOC))
{
printf ("ID: %s Name: %s", $row["id"], $row["name"]);
...
аналогичный результат((
Спустя 2 минуты, 38 секунд (25.07.2010 - 11:19) Basili4 написал(а):
nigga-popl
Ну тагда все просто
mysqli видишь буковку i в конце убери её везде.
Ну тагда все просто
mysqli видишь буковку i в конце убери её везде.
Спустя 1 минута, 2 секунды (25.07.2010 - 11:20) Basili4 написал(а):
$q="SELECT * FROM users WHERE name='$name' LIMIT 1;";
$r=mysql_query($db_connect,$q);
while ($row = mysql_fetch_array($r))
{
$id=$row['id'];
$passw=$row['pass'];
$rule=$row['rule'];
echo"$id $passw $rule";
}
у тебя должно получится так у меня это работатет смотр у себя
Спустя 11 минут (25.07.2010 - 11:31) nigga-popl написал(а):
Basili4
Warning: mysql_query() expects parameter 2 to be resource, object given in Z:\home\rts\www\login.php on line 49
не в этом дело.
у меня даже почему-то простой цикл
очень серьезно зацикливается и выводит много-много цифр. По-идее он должен вывести 31 число - степени числа 2 ($p).
До этого стоял php 2006 года, не скажу какой версии. Оба цикла проходили на ура. А сейчас обновил php до 5.3.1 и не понимаю многих вещей Кое с чем разобрался быстро, а вот это меня уже добивает(((
Warning: mysql_query() expects parameter 2 to be resource, object given in Z:\home\rts\www\login.php on line 49
не в этом дело.
у меня даже почему-то простой цикл
$i=1;
$p=2;
while ($i < 32)
{
echo"$p ";
$p=$p*2;
$i=$i++;
}
очень серьезно зацикливается и выводит много-много цифр. По-идее он должен вывести 31 число - степени числа 2 ($p).
До этого стоял php 2006 года, не скажу какой версии. Оба цикла проходили на ура. А сейчас обновил php до 5.3.1 и не понимаю многих вещей Кое с чем разобрался быстро, а вот это меня уже добивает(((
Спустя 3 минуты, 39 секунд (25.07.2010 - 11:35) Basili4 написал(а):
$i=$i++; это что ?????
while ($i < 10)
{
echo "$i\n";
$i++;
}
исполняй
по этому
Warning: mysql_query() expects parameter 2 to be resource, object given in Z:\home\rts\www\login.php on line 49
$r=mysql_query($db_connect,$q) or die(mysql_error()." q");
замени это и запость что выведет
это значит что ошибка в запросе
while ($i < 10)
{
echo "$i\n";
$i++;
}
исполняй
по этому
Warning: mysql_query() expects parameter 2 to be resource, object given in Z:\home\rts\www\login.php on line 49
$r=mysql_query($db_connect,$q) or die(mysql_error()." q");
замени это и запость что выведет
это значит что ошибка в запросе
Спустя 6 минут, 2 секунды (25.07.2010 - 11:41) nigga-popl написал(а):
while ($i < 10)
{
echo "$i\n";
$i++;
}
прошел отлично
$r=mysql_query($db_connect,$q) or die(mysql_error()." q");
ничего не вывел
Это:
$q="SELECT * FROM users WHERE name='$name';";
выводил на экран. В phpmyadmin его выполнял.
Либо
$r=mysqli_query($db_connect,$q);
либо
while ($row = mysqli_fetch_array($r))
не хочет работать. я так думаю.
Спустя 1 минута, 32 секунды (25.07.2010 - 11:43) Basili4 написал(а):
я же говорил убери i в конце mysql
Вот так надо
$r=mysql_query($db_connect,$q);
while ($row = mysql_fetch_array($r))
Вот так надо
$r=mysql_query($db_connect,$q);
while ($row = mysql_fetch_array($r))
Спустя 13 минут, 10 секунд (25.07.2010 - 11:56) nigga-popl написал(а):
у меня было:
а такого небыло:
далее везде стояло mysqli а не mysql
поменял - результат тот же: ничего не выводит
по-твоему это работает?
взято отсюда
$db_connect=mysqli_connect($dblocation,$dbuser,$dbpasswd,$dbname);
а такого небыло:
mysql_select_db($dbname,$db_connect);
далее везде стояло mysqli а не mysql
поменял - результат тот же: ничего не выводит
по-твоему это работает?
<?php
mysqli_connect("localhost", "mysql_user", "mysql_password") or
die("Could not connect: " . mysqli_error());
mysqli_select_db("mydb");
$result = mysqli_query("SELECT id, name FROM mytable");
while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
printf ("ID: %s Name: %s", $row["id"], $row["name"]);
}
mysqli_free_result($result);
?>
взято отсюда
Спустя 3 минуты, 52 секунды (25.07.2010 - 12:00) Basili4 написал(а):
Убей ВСЕ i ПОСЛЕ mysql ну сколько можно головой об стену биться тебе не надоело я же по русски говорю это функции не к mysql а к другой БД. Ты меня пониамешь ?????????? или нам по английски разговаривать. ?
Спустя 1 минута, 15 секунд (25.07.2010 - 12:01) Basili4 написал(а):
Я УЖе писал как надо ............. ты разницу что не видешь ???
<?php
mysql_connect("localhost", "mysql_user", "mysql_password") or
die("Could not connect: " . mysql_error());
mysql_select_db("mydb");
$result = mysql_query("SELECT id, name FROM mytable");
while ($row = mysql_fetch_array($result, MYSQLI_ASSOC)) {
printf ("ID: %s Name: %s", $row["id"], $row["name"]);
}
mysql_free_result($result);
?>
Спустя 1 минута, 3 секунды (25.07.2010 - 12:02) nigga-popl написал(а):
поменял - результат тот же: ничего не выводит
по-моему я тоже по-русски пишу...
по-моему я тоже по-русски пишу...
Спустя 2 минуты, 52 секунды (25.07.2010 - 12:05) Basili4 написал(а):
тады понятно а то ты мне не одним и тем же кодо кривым у попова списаным тукаешь
смотри должна ошибка выскочить
<?php
mysql_connect("localhost", "mysql_user", "mysql_password") or
die("Could not connect: " . mysql_error());
mysql_select_db("mydb");
$result = mysql_query("SELECT id, name FROM mytable") or
die("ERROR" . mysql_error());;
while ($row = mysql_fetch_array($result, MYSQLI_ASSOC)) {
printf ("ID: %s Name: %s", $row["id"], $row["name"]);
}
mysql_free_result($result);
?>
смотри должна ошибка выскочить
Спустя 12 минут, 56 секунд (25.07.2010 - 12:18) nigga-popl написал(а):
вощем, я мало что понимать стал))) вот это, что ты только что написал, отдельно работает, а мой скрипт нифига не хочет идти, хотя все так же указано.
у меня именно while не хочет идти
не выводит слово текст
у меня именно while не хочет идти
while ($row = mysql_fetch_array($result, MYSQLI_ASSOC)) {
echo"текст";
...
не выводит слово текст
Спустя 2 минуты, 43 секунды (25.07.2010 - 12:21) Basili4 написал(а):
nigga-popl
приведи свой скрипт тоько не всеь а тот кусок который имеет отношение к запросу выводу будем думать
приведи свой скрипт тоько не всеь а тот кусок который имеет отношение к запросу выводу будем думать
Спустя 5 минут, 28 секунд (25.07.2010 - 12:26) nigga-popl написал(а):
if ($_GET['action'] == 'enter')
{
if ($_GET['p_action'] != 'enter')
{
echo"<br><center><form action=\"login.php?action=enter&p_action=enter\"
method=\"post\" enctype=\"multipart/form-data\"><table><tr><td>Логин:
/td><td><input type=\"text\" name=\"name\" size=\"11\"\"></td></tr><tr>
td>Пароль:</td><td><input type=\"password\" name=\"pass\" size=\"11\"> <a
href=\"login.php?action=lost\">Восстановить</a></td></tr><tr><td><input
type=\"submit\" value=\"Войти\"></td></tr></table></form></center>";
}
if ($_GET['p_action'] == 'enter')
{
$name=$_POST['name'];
$pass_enter=md5($pass);
$enter_q="SELECT * FROM users WHERE name='$name';";
$enter_r=mysql_query($enter_q);
if ($enter_r)
{
while ($row = mysql_fetch_array($enter_r, MYSQLI_ASSOC))
{
echo"<br>текст<br>"; // не выводится
$id=$row['id'];
$passw=$row['pass'];
$rule=$row['rule'];
}
echo"<br>$pass_enter and $passw"; // выходит только $pass_enter and
if ($pass_enter == $passw)
{
//session_start();
$_SESSION['uname']=$id;
$_SESSION['rule']=$rule;
echo"<META HTTP-EQUIV=\"REFRESH\" CONTENT=\"0;URL=index.php\">";
}
if ($pass_enter != $passw)
{
echo"<br><center>Неверный логин/пароль<br><a href=\"javascript:history.go(-1)\">« Назад</a></center>";
}
}
}
}
Кстати говоря, в ссылке можно переменные передавать вот так:
login.php?action=enter&p_action=enter
Раньше получалось))
И еще. Нажав кнопку "Войти" постоянно выскакивает "Неверный логин/пароль"
Спустя 5 минут, 21 секунда (25.07.2010 - 12:31) Basili4 написал(а):
О брат да у тебя вообще не правильное представление о программировании каким учебными пособием пользующийся. назови его я должен знать.
вот скажи от куда сдесь может быть параметр передаваемый методом post если уже подразумевается передача методом get ??
if ($_GET['p_action'] == 'enter')
{
$name=$_POST['name'];
так не бывает
вот скажи от куда сдесь может быть параметр передаваемый методом post если уже подразумевается передача методом get ??
if ($_GET['p_action'] == 'enter')
{
$name=$_POST['name'];
так не бывает
Спустя 55 секунд (25.07.2010 - 12:32) Basili4 написал(а):
идем далее это
$pass_enter=md5($pass); откуда взялась переменная $pass ????
$pass_enter=md5($pass); откуда взялась переменная $pass ????
Спустя 2 минуты, 24 секунды (25.07.2010 - 12:35) nigga-popl написал(а):
Если пишу по примеру
выходит пустой экран.
До обновления php я так и писал.
переменная $pass отсюда:
if ($action == 'enter')
выходит пустой экран.
До обновления php я так и писал.
переменная $pass отсюда:
<input type=\"password\" name=\"pass\" size=\"11\">
Спустя 2 минуты, 6 секунд (25.07.2010 - 12:37) Basili4 написал(а):
nigga-popl
Я всмысле уже давно понял что твое учебное пособие на свалку надо. выкинь его вообще у тебя есть аська напиши мне чтобы не засорять тему. Я тебе на пальцах все раскажу моя аська есть в моем профиле.
Я всмысле уже давно понял что твое учебное пособие на свалку надо. выкинь его вообще у тебя есть аська напиши мне чтобы не засорять тему. Я тебе на пальцах все раскажу моя аська есть в моем профиле.
_____________