Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: вопрос на уровне третьего класса
 
 автор: Рома   (18.10.2008 в 05:10)   письмо автору
 
 

вот пример обычной записи в базу данных, который должен работать у всех, а у меня не пашет.
повторная установка MySQL не помогла. это что, конец программирования?
<?php
$mshost = "localhost"; // Хост
$msuser = "root"; // Имя пользователя
$mspassword = "root"; // Пароль
$msname = "test"; // Имя базы данных
$msconnect = mysql_connect($mshost, $msuser, $mspassword);
mysql_select_db($msname, $msconnect);
mysql_query("CREATE TABLE test_zero ( num INT, title TEXT,
text TEXT)",$msconnect);
mysql_query("INSERT INTO test_zero VALUES (1, 'Заголовок статьи',
'Текст статьи')", $msconnect);
mysql_close($msconnect);
?>

Этим кодом извлекаю - пишет ошибка 9 строка

<?php
$mshost = "localhost"; // Хост
$msuser = "root"; // Имя пользователя
$mspassword = "138"; // Пароль
$msname = "test"; // Имя базы данных
$msconnect = mysql_connect($mshost, $msuser, $mspassword);
mysql_select_db($msname, $msconnect);
$res=mysql_query("SELECT * FROM test_zero");
while($row=mysql_fetch_array($res)) // 9 строка, значит таблица пуста
{
$num=$row[num];
$title=$row[title];
$text=$row[text];
echo "($num) - $title <br><p align=justify>$text";
}
?>
может все попереустанавливать заново

  Ответить  
 
 автор: Trianon   (18.10.2008 в 11:28)   письмо автору
 
   для: Рома   (18.10.2008 в 05:10)
 

Результаты ваполнения mysql_connect(), mysql_select_db(), mysql_query() следует проверять на признак ошибки.
И если он присутствует - выводить диагностику, применяя mysql_error() .
Так что переставлять ничего не надо. Надо дописать скрипт так, чтобы он показывал, что собственно происходит с БД.

  Ответить  
 
 автор: Рома   (18.10.2008 в 12:14)   письмо автору
 
   для: Trianon   (18.10.2008 в 11:28)
 

нуль выводит с любой строки, не один скачанный движок не добавляет записи в базе,
а соединяется нормально и базу тоже выбирает без проблем
?????????????????????????:-((((

  Ответить  
 
 автор: Trianon   (18.10.2008 в 12:21)   письмо автору
 
   для: Рома   (18.10.2008 в 12:14)
 

$sql = "SELECT....";
$res = mysql_query($sql);
if(!$res) exit("Error in <br>$sql <br> ".mysql_error());

И так оформить все вызовы mysql_query() без исключения.

И потрудитесь задавать вопросы так, чтобы их можно было понять. А не строкой ????? .

  Ответить  
 
 автор: Рома   (18.10.2008 в 12:48)   письмо автору
 
   для: Trianon   (18.10.2008 в 12:21)
 

попробовал я ваш код, вводил вот так:
<?php
$mshost = "localhost"; // Хост
$msuser = "root"; // Имя пользователя
$mspassword = "root"; // Пароль
$msname = "test"; // Имя базы данных
$msconnect = mysql_connect($mshost, $msuser, $mspassword);
mysql_select_db($msname, $msconnect);
$res=mysql_query("INSERT INTO test_zero VALUES ('1', 'Заголовок статьи',
'Текст статьи')", $msconnect);
if(!$res) exit("Error in <br>$res <br> ".mysql_error());
mysql_close($msconnect);
echo "1";
?>
- в результате выдает 1
пробовал установить кучу разных скриптов гостевой книги - ни один из них не добавляет записи в базу.
я несколько дней НЕ МОГУ ЗАСТАВИТ БАЗУ СОХРАНЯТЬ ДАННЫЕ,
а код на считывание из базы пишет ошибку в строке
$row=mysql_fetch_array($res));
вида:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\Program Files\Apache Group\Apache\htdocs\test4.php
вроде правильно объяснил

  Ответить  
 
 автор: Trianon   (18.10.2008 в 12:58)   письмо автору
 
   для: Рома   (18.10.2008 в 12:48)
 

>- в результате выдает 1
значит строка в таблицу успешно помещается.

>а код на считывание из базы пишет ошибку в строке
>$row=mysql_fetch_array($res));
Перед строкой $row=mysql_fetch_array($res)); что стоит? Откуда берется $res?

  Ответить  
 
 автор: Рома   (18.10.2008 в 13:32)   письмо автору
 
   для: Trianon   (18.10.2008 в 12:58)
 

код извлечения из базы:
<?php
$mshost = "localhost"; // Хост
$msuser = "root"; // Имя пользователя
$mspassword = "root"; // Пароль
$msname = "test"; // Имя базы данных
$msconnect = mysql_connect($mshost, $msuser, $mspassword);
mysql_select_db($msname, $msconnect);
$res=mysql_query("SELECT * FROM test_zero");
while($row=mysql_fetch_array($res)) // 9 строка
{
$num=$row[num];
$title=$row[title];
$text=$row[text];
echo "($num) - $title <br><p align=justify>$text";
}
?>
выдает след ошибки:
Notice: Use of undefined constant num - assumed 'num' in C:\Program Files\Apache Group\Apache\htdocs\test4.php on line 11
Notice: Use of undefined constant title - assumed 'title' in C:\Program Files\Apache Group\Apache\htdocs\test4.php on line 12
Notice: Use of undefined constant text - assumed 'text' in C:\Program Files\Apache Group\Apache\htdocs\test4.php on line 13
(1) - Заголовок статьи
Текст статьи

//ура, вижу тексты, которые заносил в базу, значит еще не все потеряно

  Ответить  
 
 автор: Trianon   (18.10.2008 в 13:45)   письмо автору
 
   для: Рома   (18.10.2008 в 13:32)
 

> $res=mysql_query("SELECT * FROM test_zero");
> while($row=mysql_fetch_array($res)) // 9 строка

и где в этих строках проверка признака ошибки и вывод диагностики?
Я ведь сказал - каждый mysql_query() так оформить.


$row[num] следует писать как $row['num'] и т.д.

  Ответить  
 
 автор: Рома   (18.10.2008 в 14:13)   письмо автору
 
   для: Trianon   (18.10.2008 в 13:45)
 

все ОК!
спасибо огромное - помог! я тут за голову хватался.
а возможно такое, что весь ввод однотипной информации можно заключать в одну базу, а доставать по идентификатору ряда, только не по порядковому номеру, а по присвоенному
сообщению в форме скрытым hidden значением?

  Ответить  
 
 автор: Trianon   (18.10.2008 в 14:19)   письмо автору
 
   для: Рома   (18.10.2008 в 14:13)
 

>а возможно такое, что весь ввод однотипной информации можно заключать в одну базу,

На практике частенько все проекты, размещенные на одном сайте, работают с одной единственной базой данных.

>а доставать по идентификатору ряда, только не по порядковому номеру, а по присвоенному
>сообщению в форме скрытым hidden значением?

почему нет? Сама БД никак на формы и поля не завязана. Как сделаете - так и будет.

  Ответить  
 
 автор: Рома   (19.10.2008 в 23:32)   письмо автору
2.5 Кб
 
   для: Trianon   (18.10.2008 в 14:19)
 

привет, а подскажи пожалуйста, как мне выявить ошибку в продолжении моего кода.
все хорошо, ошибок не выводит,
но навигация, выводит только первую и последнюю страницы и больше никакие, так что ошибка в промежуточном выводе. прикрепляю файл

  Ответить  
 
 автор: Рома   (20.10.2008 в 00:12)   письмо автору
 
   для: Рома   (19.10.2008 в 23:32)
 

все. не знаю. не работает. пойду какой нибудь рабочий скрипт искать...

  Ответить  
 
 автор: Рома   (20.10.2008 в 00:54)   письмо автору
3.3 Кб
 
   для: Рома   (20.10.2008 в 00:12)
 

вот скопировал из статей, добавил к себе, заработало, но только в середине списка, а когда первая вторая страница - выдает ошибку, аналогично в конце списка ссылок.
кто хоть немного разбирается в создании ссылок скажите где ошибка

  Ответить  
 
 автор: Рома   (20.10.2008 в 01:06)   письмо автору
 
   для: Рома   (20.10.2008 в 00:54)
 

всем стоять! ни кому не суетиться! я все сделал:)

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования