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 :: Версия для печати :: не записываются данные
Форумы портала PHP.SU » » Работа с СУБД » не записываются данные

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

1. foozzi - 25 Августа, 2011 - 13:15:33 - перейти к сообщению
вот скрипт будущей гостевой книги, данные пишутся в базе.

PHP:
скопировать код в буфер обмена
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>Гостевая</title>
  6. </head>
  7. <body>
  8. <h1>Гостевая</h1>
  9.  
  10. <?PHP
  11. include ('config.php');
  12. $dbcnx = @mysql_connect($dblocation,$dbuser,$dbpasswd);
  13.  
  14. error_reporting(E_ALL | E_STRICT);
  15. if (ini_get('display_errors') != 1) { // проверяет значение опции display_errors
  16. ini_set('display_errors', 1); // включает вывод ошибок вместе с результатом работы скрипта
  17. };
  18.  
  19.  
  20. if (@$send)
  21.    $sql = mysql_query("INSERT  into gallery (title, content)
  22.          values ('".$_POST['my_title']."', '".$_POST['my_text']."');");
  23. ?>
  24.  
  25. <form action="index.php" method="post">
  26. <table border="1" align="center">
  27.   <tr>
  28.     <td align="center">Введите заголовок</td>
  29.     <td align="center">Введите текст</td>
  30.   </tr>
  31.   <tr>
  32.     <td valign="top"><input name="my_title" type="text"
  33.         size="50" /></td>
  34.     <td valign="top"><textarea name="my_text" cols="80"
  35.         rows="30" > </textarea></td>
  36.   </tr>
  37.   <tr>
  38.     <td  colspan="2" align="center"><input name="send"
  39.         type="submit" value="Отправить" /></td>
  40.   </tr>  
  41.  
  42. </table>
  43. </form>
  44. </body>
  45. </html>


думаю без комментов пойдет, тут и так все видно и ясно, на название базы gallery не обращайте внимание)
2. Viper - 25 Августа, 2011 - 13:22:23 - перейти к сообщению
foozzi INSERT должен содержать все поля(в отличие от UPDATE).
if (@$send) уверены что это работает? И зачем оно вообще!?
3. foozzi - 25 Августа, 2011 - 13:25:49 - перейти к сообщению
Viper пишет:
if (@$send) уверены что это работает? И зачем оно вообще!?

если от кнопки "Отправить" методом POST был передан $send , то должен выполниться данный запрос (функция mysql_query), и в таблицу базы данных будет записано содержимое полей формы.

а у меня больше полей нет...
4. Мелкий - 25 Августа, 2011 - 13:32:26 - перейти к сообщению
Viper пишет:
INSERT должен содержать все поля(в отличие от UPDATE).

Либо в запросе должны явно указываться столбцы. Что в представленном коде и происходит.

foozzi пишет:
если от кнопки "Отправить" методом POST был передан $send

Только, если включены register globals. По-умолчанию, отключены. С PHP5.3 включение невозможно.
Уберите собак @ из кода
5. foozzi - 25 Августа, 2011 - 13:45:53 - перейти к сообщению
Мелкий пишет:
Уберите собак @ из кода


происходит ошибка о неопределенной переменной
6. Мелкий - 25 Августа, 2011 - 13:50:51 - перейти к сообщению
Спасибо, я это и так замечательно вижу, даже не запуская код. И хотел, чтобы её увидели вы сами.
7. foozzi - 25 Августа, 2011 - 14:01:14 - перейти к сообщению
я то знаю что она не определена в нее заносятся данные потом
8. EuGen - 25 Августа, 2011 - 14:04:40 - перейти к сообщению
Не используйте @ - сами себе задачу отладки усложните.
http://phpfaq[dot]ru/debug

А INSERT можно использовать, не указывая поля. В этом случае неуказанные поля получат значения по-умолчанию (в случае наличия таковых)
9. Мелкий - 25 Августа, 2011 - 14:12:21 - перейти к сообщению
foozzi, а теперь повспоминайте/поэкспериментируйте, чем считается NULL (неинициализированная переменная) при приведении к bool.
10. foozzi - 25 Августа, 2011 - 14:17:44 - перейти к сообщению
Мелкий пишет:
foozzi, а теперь повспоминайте/поэкспериментируйте, чем считается NULL (неинициализированная переменная) при приведении к bool.


чорт, точно спасибо

 

Powered by ExBB FM 1.0 RC1