не работает база mysql

DIIS

Guest
не работает база mysql

Только, что начал изучать php поставаил пакет Денвер

из какой то книги взял примеры решил попробовать... но че то не работает...

вот часть из скрипта...

при запуске скрипта проходит все нормально

$hostname = "127.0.0.1";
$username = "root"; пробовал ставить разные пароли
$password = "";
$dbName = "products";

/* Таблица MySQL, в которой хранятся данные */
$userstable = "clients";

/* email администратора */
$adminaddress = "[email protected]";

/* создать соединение */
MYSQL_CONNECT($hostname,$username,$password) OR DIE("Не могу создать соединение ");
mysql_error();

@mysql_select_db("$dbName") or die("Не могу выбрать базу данных ");

....

/* Вставить информацию о клиенте в таблицу */
$query = "INSERT INTO $userstable VALUES('$name','$email', '$preference')";

$result = MYSQL_QUERY($query);

PRINT "Информация о вас занесена в базу данных.";

/* Закрыть соединение */
MYSQL_CLOSE();




при запуске этого скрипта браузер выводит вот,что
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in z:\home\ivt_t\www\apple.php on line 26


Любителей яблок нет

скрипт для вывода данных:

$hostname = "127.0.0.1";
$username = "root";
$password = "";
$dbName = "products";

/* Таблица MySQL, в которой хранятся данные */
$userstable = "clients";

/* создать соединение */
MYSQL_CONNECT($hostname,$username,$password) OR DIE("Не могу создать соединение ");

mysql_select_db("$dbName") or die("Не могу выбрать базу данных ");

/* Выбрать всех клиентов - яблочников */
$query = "SELECT * FROM $userstable WHERE choice = 'Яблоки'";

$result = MYSQL_QUERY($query);

/* Как много нашлось таких */
$number = mysql_num_rows($result);

/* Напечатать всех в красивом виде*/
$i = 0;

IF ($number == 0) {
PRINT "<CENTER><P>Любителей яблок нет</CENTER>";
} ELSEIF ($number > 0) {
PRINT "<CENTER><P>Количество любителей яблок: $number<BR><BR>";
WHILE ($i < $number){
$name = mysql_result($result,$i,"name");
$email = mysql_result($result,$i,"email");
PRINT "Клиент $name любит Яблоки.<BR>";
PRINT "Его Email: $email.";
PRINT "<BR><BR>";
$i++;
}
PRINT "</CENTER>";
}
 

Фанат

oncle terrible
Команда форума
1. Выкидываешь книгу на помойку.
2. поднимаешь глаза к верху этой страницы.
3. Находишь там слово "статьи".
4. Подводишь к слову курсор мышки и нажимаешь левую кнопку.
5. Просматриваешь открывшийся список глазами, попутно пропуская получаемые строчки через мозг.
6. Находишь статью с этим самым кодом, только не кривым, как в твоей книжке, а нормальным.
7. Выполняешь его.
 

DIIS

Guest
сделал все как ты сказал поменял только login на "root" и пароль поставил пустым... и выводит такую ошибку

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in z:\home\ivt_t\www\apple.php on line 26


Любителей яблок нет
 

Cougar

Кошак
Сразу после mysql_query() пишешь echo mysql_error() и делишься этим с общественностью
 

DIIS

Guest
написал echo mysql_error()

результат:

Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING in z:\home\ivt_t\www\apple.php on line 31
-~{}~ 23.04.05 18:55:

в Far'е через F3 посмотрел данные в базу вроде добавляються
 

DIIS

Guest
в базу все добавляеться нормально

вообщем для вывода переделал скрипт вот так:

<?
$hostname = "localhost";
$username = "root";
$password = "";
$dbName = "product";

/* Таблица MySQL, в которой хранятся данные */
$userstable = "clients";

/* email администратора */
$adminaddress = "[email protected]";

/* создать соединение */
mysql_connect($hostname,$username,$password) OR DIE("Не могу создать соединение ");

/* выбрать базу данных. Если произойдет ошибка - вывести ее */
mysql_select_db($dbName) or die(mysql_error());

/* составить запрос, который выберет всех */
$query = "SELECT * FROM $userstable";

/* Выполнить запрос. Если произойдет ошибка - вывести ее. */
$res = mysql_query($query) or die(mysql_error());
echo $res; echo "<br>";

/* Как много нашлось таких */
$number = mysql_num_rows($res);
echo $number;

/* Напечатать всех в красивом виде */
_/* Получать по одной строке из таблицы в массив $row, пока строки не кончатся */

__ while ($row=mysql_fetch_array($res)) строка 33
{
___ echo "Клиент ".$row['name']." Lubit yabloki.<BR>";
____ echo "Его Email: ".$row['email'];
____ echo "<BR><BR>";
__ }

/* Закрыть соединение */
mysql_close();

?>
он мне выдает такую хрень
Parse error: parse error, unexpected T_STRING in z:\home\ivt_t\www\test.php on line 33
если убрать цикл while

то результат таков

 

Кром

Новичок
>если убрать цикл while

У тебя там нечитаемые символы перед строками в цикле. Сотри из.
Они появляются при копировании кода через некоторые программы. Одно время такой баг был в старой Опере.
 

DIIS

Guest
после написания этого сообщения я увидел что перед while стоит нижний прочерк, хотя в редакторе far они их было совсем не видно... убрал пробелы и все заработало

-~{}~ 24.04.05 02:45:

Автор оригинала: Кром
>если убрать цикл while

У тебя там нечитаемые символы перед строками в цикле. Сотри из.
Они появляются при копировании кода через некоторые программы. Одно время такой баг был в старой Опере.
мля и из-за этого я потерял солько времени

-~{}~ 24.04.05 02:46:

Opera must die

-~{}~ 24.04.05 02:56:

кстати Opera стоит не совсем старая 7.10.... это как нить лечиться?
 
Сверху