Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Проблема с MYSQL
Форумы портала PHP.SU » PHP » Программирование на PHP » Проблема с MYSQL

Страниц (1): [1]
 

1. Cubar - 02 Августа, 2009 - 17:38:51 - перейти к сообщению
По какой причине это может не работать?

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. if ($rc=mysql_connect ("localhost", "root", "root"))
  3. {
  4. mysql_select_db ("B19147");
  5. $mar=mysql_query ("
  6. SELECT
  7. FROM Schetchik
  8. ");
  9. $s=mysql_result ($mar, 0, 2);
  10. echo $s;
  11. }
  12. else
  13. {
  14. echo "Error!";
  15. }
  16. ?>
2. Ch_chov - 02 Августа, 2009 - 17:42:42 - перейти к сообщению
Цитата:
$mar=mysql_query ("
SELECT
FROM Schetchik
" );

Не указано, что нужно выбрать из таблицы Schetchik
3. Cubar - 02 Августа, 2009 - 17:55:30 - перейти к сообщению
Указано. Выборка идет все полей из таблицы "Schetchik". Код почему-то скопировался некорректно. Там стоит знак "*" в запросе.
4. maxtet - 02 Августа, 2009 - 18:25:39 - перейти к сообщению
CODE (text):
скопировать код в буфер обмена
  1. if ($rc=mysql_connect ("localhost", "root", "root"))

Возможно вы не правильно составили условие.
5. valenok - 02 Августа, 2009 - 18:26:34 - перейти к сообщению
phpfaq.ru/debug
6. Cubar - 03 Августа, 2009 - 11:01:22 - перейти к сообщению
Maxtet.
Условие написано правильно.

Valenok.
Большое спасибо за ссылку!!! Нашел кое-что там, т.е. включил в свой код повышенный контроль за ошибками. В результате было выявлено несколько ошибок. Некоторые ошибки исправил. Вот код:

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. ini_set ('display_errors', 1);
  3. $rc=mysql_сonnect ("localhost", "root", "root");
  4. if ($rc==mysql_сonnect ("localhost", "root", "root"))
  5. {
  6. $day=date ("Y-m-d");
  7. mysql_select_db ("B19147");
  8. $tabl="Schetchik";
  9. ("
  10. SELECT *
  11. FROM $tabl
  12. ");
  13. $k['Vsego']=$k['Vsego']+1;
  14. if ($day!==$k['Chislo'])
  15. {
  16. $k['Chislo']=$day;
  17. $k['Segodna']=1;
  18. }
  19. else
  20. {
  21. $k['Segodna']=$k['Segodna']+1;
  22. }
  23. ("
  24. UPD?1?T?1? Schetchik
  25. SET Vsego='$k[Vsego]', Segodna='$k[Segodna]', Chislo='$k[Chislo]'
  26. ");
  27. echo
  28. "<table border=2 bordercolor=orange>
  29. <tr>
  30. <td colspan=2 align=center> Посещаемость </td>
  31. </tr>
  32. <tr>
  33. <td align=center> Всего </td>
  34. <td align=center> Сегодня </td>
  35. </tr>
  36. <tr>
  37. <td align=center> $k[Vsego] </td>
  38. <td align=center> $k[Segodna] </td>
  39. </tr>
  40. </table>";
  41. }
  42. else
  43. {
  44. echo "Error!";
  45. }
  46. ?>


Ошибка появляется такая: "Undefined index: Chislo" на 17 строке.
7. maxtet - 03 Августа, 2009 - 12:06:06 - перейти к сообщению
CODE (text):
скопировать код в буфер обмена
  1. if ($rc=mysql_connect ("localhost", "root", "root"))

и
CODE (text):
скопировать код в буфер обмена
  1. if ($rc==mysql_сonnect ("localhost", "root", "root"))

разницу видите?
Undefined index: Chislo - вы обращаетесь к необъявленному элементу массива.
8. valenok - 03 Августа, 2009 - 13:00:13 - перейти к сообщению
maxtet он и проверяет, происходит ли подключение.
Тебе не кажется что глупо записать идентификатор подключения в переменную, а потом подключиться еще раз и сравнивать идентификаторы ?
9. Agassi - 03 Августа, 2009 - 16:46:25 - перейти к сообщению
Cubar пишет:
mysql_query
("
UPD?1?T?1? Schetchik
Ниндзя
10. Champion - 04 Августа, 2009 - 12:08:51 - перейти к сообщению
Cubar пишет:
$rc=mysql_сonnect ("localhost", "root", "root");
if ($rc==mysql_сonnect ("localhost", "root", "root"))
Не надо так делать. Достаточно просто как у maxtet в первой строке пред. сообщения написано)
Undefined index - определяй почему. Столбца такого, видимо, нет в таблице.
var_dump($k).
11. Cubar - 04 Августа, 2009 - 13:03:03 - перейти к сообщению
Спасибо всем!!!
Проблема решена.

 

Powered by ExBB FM 1.0 RC1