Что не так?

Статус
В этой теме нельзя размещать новые ответы.
Запятую забыл, вот так правильно:
PHP:
<?php
$sum = 0;
$i = 1;
do
  {
    $sum = $sum + $i;
    $i++;
  }
while ($i <= 1000);//Тут запятая
echo "сумма всех чисел от 1 до 1000 равна $sum";
?>
 
хотя проще написать
Так у меня всё работало :D но у меня процесс обучения
Запятую забыл, вот так правильно:
Спасибо, друзья :D Только я не понял почему тогда при конструкции while работает без ";" после while ($i <= 1000), что это за нюанс такой ?
PHP:
<?php
$sum = 0;
$i = 1;
  while ($i <= 1000)
    {
      $sum = $sum + $i;
      $i++;
    }
echo "сумма всех чисел от 1 до 1000 равна $sum";
?>
 
Зачем учить то, что не используется и считается устаревшей конструкцией?
PHP_Master откуда мне знать, что считается устаревшей конструкцией :D я ведь только решил понять лучше то, во что каждый день смотрю.

Скачал "PHP и MySQL для начинаюших Попова", просматриваю чтобы понять основы пока книга "Разработка Web-приложений с помощью PHP и MySQL. 3-е издание (+CD)" дойдёт :D
 
На денвере стоит MySQL 5.0.45-community-nt, на троице MySQL 5.0.67-community-nt. C 5.0.67 творится какая то борода уже не первый раз замечаю. В этот раз тоже, суть в следующим есть скрипт который соединяется с базой данной и выводит значение из таблицы, прописал супер пользователя его пароль и базу данных с которой необходимо работать, но на денвере всё работает а на троице выдаёт ошибку.

PHP:
<?php
$db = mysql_connect("localhost", "root", "pass");
mysql_select_db("firstdb", $db);

$result = mysql_query("SELECT lastname FROM firma",$db);
$myrow = mysql_fetch_array($result);

echo $myrow["lastname"];
?>

База данных и таблица с данными существует как в MySQL денверa, так и MySQL троицы, имя и пароль одинаковые. Но в троице данный скрипт не работает, показывая ошибку :[

Код:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in *** on line 15

Что не так, почему строка 15 вызывает ошибку в троице и не вызывает в денвере ? Строка с ошибкой:
PHP:
$myrow = mysql_fetch_array($result);
 
Что не так, почему строка 15 вызывает ошибку в троице и не вызывает в денвере ? Строка с ошибкой:
PHP:
$myrow = mysql_fetch_array($result);

у тебя не эта строка вызывает ошибку, а некорректный запрос в строке
PHP:
$result = mysql_query("SELECT lastname FROM firma",$db);
пиши:
PHP:
$result = mysql_query("SELECT `lastname` FROM `firma`");
 
у тебя не эта строка вызывает ошибку, а некорректный запрос в строке
Объяснить работоспособность в денвере именно с строкой которая выдаёт ошибку можешь ?
пиши:
PHP:
$result = mysql_query("SELECT `lastname` FROM `firma`");
Скопировал, вставил как была ошибка на троице так и осталась, скопировал файл в денвер, скрипт как работал в денвере так и работает. Где мистика ?
 
Скопировал, вставил как была ошибка на троице так и осталась, скопировал файл в денвер, скрипт как работал в денвере так и работает. Где мистика ?

скорее всего тогда у тебя траблы с таблицами на различных машинах.
запусти так:
PHP:
$result = mysql_query("SELECT `lastname` FROM `firma`") or die (mysql_error());
что вернет?
 
Спасибо, друзья :D Только я не понял почему тогда при конструкции while работает без ";" после while ($i <= 1000), что это за нюанс такой ?

Нюанс в том, что там был не

PHP:
while() {
}

, а

PHP:
do {
} while();

Ставим точку с запятой, чтобы показать, что оператор закончился. Если оператор заканчивается на }, то ; ставить необязательно, т.к. компилятор понимает, что оператор закончился.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху