X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

2 страниц V   1 2 >
Открыть тему
Тема закрыта
> Ошибка при занесении инфо в БД через форму
OlegTitov
OlegTitov
Topic Starter сообщение 17.6.2009, 17:05; Ответить: OlegTitov
Сообщение #1


Всем привет. Такая ситуация: я создал БД, новую таблицу, форму html внесения инфо в таблицу и файл обработчик php. Все сделал по примеру из раздела по БД.
Но выскакивает такая ошибка:
Parse error: syntax error, unexpected T_STRING in /var/www/virtual/accentpharm.com.ua/htdocs/save_form.php on line 31

Вот мой код пхп:
[PHP]
<?

/* Соединяемся с базой данных */
$hostname = "http://77.120.113.83/vhcs2"; // название/путь сервера, с MySQL
$username = "ххх"; // имя пользователя (в Denwer`е по умолчанию "root")
$password = "ххх"; // пароль пользователя (в Denwer`е по умолчанию пароль отсутствует, этот параметр можно оставить пустым)
$dbName = "13_agencies"; // название базы данных

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

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

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

/* Составляем запрос для вставки информации в таблицу
name...date - название конкретных полей в базе;
в $_POST["test_name"]... $_POST["test_mess"] - в этих переменных содержатся данные, полученные из формы */
$query = "INSERT INTO $table SET name='".$_POST['name']."', speciality='".$_POST["speciality"]."',
address='".$_POST["address"]."', city='".$_POST["city"]."', other_city='".$_POST["other_city"]."', metro='".$_POST["metro"]."', phone='".$_POST["phone"]."', fax='".$_POST["fax"]."', web='".$_POST["web"]."', email1='".$_POST["email1"]."', email2='".$_POST["email2"]."', person='".$_POST["person"]."', description='".$_POST["description"]."';

/* Выполняем запрос. Если произойдет ошибка - вывести ее. */
mysql_query($query) or die(mysql_error());

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

/* В случае успешного сохранения выводим сообщение и ссылку возврата */
echo "Данные успешно сохранены!";


?>
[/PHP]
31 строка это echo "Данные успешно сохранены!";
Если что, то выложу код формы, но мне кажется проблема не там.
И еще вопросик, хочу проверить заносит ли инфо в таблицу или нет? Как проверить? Спасибо
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Webmaster_hb
Webmaster_hb
сообщение 17.6.2009, 17:12; Ответить: Webmaster_hb
Сообщение #2


ошибка с кавычками, даже подсветка синтаксиса говорит об этом
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
OlegTitov
OlegTitov
Topic Starter сообщение 17.6.2009, 18:09; Ответить: OlegTitov
Сообщение #3


Изменил двойные кавычки на одинарные - уже там ошибку не показывает.
Но далее говрит, что ошибка в конце файла, т.е в ?>
Подсветка тоже показывает, что тут ошибка. Начал писать код заново, то ошибка появляется когда вставляю в код вот эту часть:
[PHP]$query = "INSERT INTO $table SET name='".$_POST['name']."',
speciality='".$_POST["speciality"]."', address='".$_POST["address"]."',
city='".$_POST["city"]."', other_city='".$_POST["other_city"]."',
metro='".$_POST["metro"]."', phone='".$_POST["phone"]."',
fax='".$_POST["fax"]."', web='".$_POST["web"]."',
email1='".$_POST["email1"]."', email2='".$_POST["email2"]."',
person='".$_POST["person"]."', description='".$_POST["description"]."';[/PHP]
После того, как вставляю эту часть, то значок ?> сразу перестает праильно светиться...
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
OlegTitov
OlegTitov
Topic Starter сообщение 17.6.2009, 18:19; Ответить: OlegTitov
Сообщение #4


нашел ошибку, в конце нужно закрыть двойные кавычки
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Licoric
Licoric
сообщение 17.6.2009, 19:00; Ответить: Licoric
Сообщение #5


Старайся заменять
'".$_POST['name']."'
на $name (еще в самом начале). Проще же получается. И таких ошибок будет меньше.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Apay
Apay
сообщение 17.6.2009, 20:15; Ответить: Apay
Сообщение #6


можно сделать по-другому (кавычек меньше)
[php]$query = "INSERT INTO $table SET name='{$_POST['name']}',
speciality='{$_POST['speciality']}', address='{$_POST['address']}',
city='{$_POST['city']}', other_city='{$_POST['other_city']}',
metro='{$_POST['metro']}', phone='{$_POST['phone']}',
fax='{$_POST['fax']}', web='{$_POST['web']}',
email1='{$_POST['email1']}', email2='{$_POST['email2']}',
person='{$_POST['person']}', description='{$_POST['description']}"; [/php]
но это на вкус
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
OlegTitov
OlegTitov
Topic Starter сообщение 28.6.2009, 2:35; Ответить: OlegTitov
Сообщение #7


Привет всем, кто опять сюда заглянул.
Выше описаное у меня получилось. Внес одну запись в таблицу. Теперь хочу проверить, внеслось чтонить в таблицу или нет.
Надумал такой код(хочу выбрать все что есть в таблице и показать это):[PHP]<?php

$hostname = "xxx";
$username = "xxx";
$password = "xxx";
$dbName = "13_agencies";

$table = "bp1";

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

mysql_select_db($dbName) or die (mysql_error());

$result = mysql_query ('select * from bp1');

mysql_query($result) or die(mysql_error());

mysql_close();

echo "$result";



?>[/PHP]

Заливаю на сервер, открываю этот файл, а мне пишет такое: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Resource id #3' at line 1

Может я вообще что-то вообще гоню... просто пробую методом проб...

Как тут можно распетлять?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Apay
Apay
сообщение 28.6.2009, 10:00; Ответить: Apay
Сообщение #8


[php]echo "$result";[/php]$result - это ресурс, из которого надо поочередно извлекать строки таблицы и выводить, примерно так:
[php]while( $row = mysql_fetch_assoc( $result ) )
var_dump( $row ); [/php]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
OlegTitov
OlegTitov
Topic Starter сообщение 28.6.2009, 15:19; Ответить: OlegTitov
Сообщение #9


Спасибо за подсказку. Порылся в литературе, вот переделал немного код
[PHP]<?php

$hostname = "ххх";
$username = "ххх";
$password = "ххх";
$dbName = "13_agencies";

$table = "bp1";

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

mysql_select_db($dbName) or die (mysql_error());

$r = mysql_query ('select * from bp1 order by id')

or die(mysql_error());

for ($data=array(); $row=mysql_fetch_assoc($r); $data[]=$row);

echo "<pre>"; print_r($data); echo "</pre>";

?>[/PHP]

Код работает, убедился, что данные заносятся в таблицу с моей формы.
Врезультате этого кода вот что выдает в браузере:
Array
(
[0] => Array
(
[id] => 1
[name] => ххх
[speciality] => ххх
[address] => ххх
[city] => ххх
[other_city] =>
[metro] => ххх
[phone] => ххх
[fax] =>
[web] => ххх
[email1] => ххх
[email2] => ххх
[person] => ххх
[description] => ххх
)

А как мне сделать, что бы это выводилось в табличке и без квадратных кавычек и другого мусора, т.е. только что я вносил в форму?...
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Apay
Apay
сообщение 28.6.2009, 16:56; Ответить: Apay
Сообщение #10


это очень просто
[PHP]
echo '<table><tr><td>name</td><td>speciality</td><td>address</td><td>city</td>'.
'<td>other_city</td><td>metro</td><td>phone</td><td>fax</td><td>web</td>'.
'<td>email1</td><td>email2</td><td>person</td><td>description</td></tr>';

while( $row = mysql_fetch_assoc( $result ) )
echo '<td>'.$row['name'].'</td><td>'.$row['speciality'].'</td><td>'.$row['address'].'</td>'.
'<td>'.$row['city'].'</td><td>'.$row['other_city'].'</td><td>'.$row['metro'].'</td>'.
'<td>'.$row['phone'].'</td><td>'.$row['fax'].'</td><td>'.$row['web'].'</td>'.
'<td>'.$row['email1'].'</td><td>'.$row['email2'].'</td><td>'.$row['person'].'</td>'.
'<td>'.$row['description'].'</td>';

echo '</table>';
[/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
2 страниц V   1 2 >
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыBropush - Твой бро в монетизации через Push-уведомления
30 bropush 11854 16.4.2024, 18:19
автор: bropush
Открытая тема (нет новых ответов) Мегамаркет. Скидка 1000 рублей при покупке от 5000 рублей на все, на первый заказ.
Мегамаркет. Скидка 1000 рублей при покупке от 5000 рублей на все, на п
7 stu999 1756 31.3.2024, 11:19
автор: stu999
Открытая тема (нет новых ответов) Через какой браузер и как можно найти в кэшэ браузера видео
10 Room 2381 23.3.2024, 7:41
автор: Room
Открытая тема (нет новых ответов) Продвижение сайта через краудинг с поддержкой
Полный комплекс мер по продвижению сайта
0 alexey 1014 22.8.2023, 16:33
автор: alexey
Открытая тема (нет новых ответов) Куплю группы ВК - только через гаранта
1 robot_yaga2 881 30.5.2023, 16:51
автор: GlazAlmaz


 



RSS Текстовая версия Сейчас: 24.4.2024, 20:53
Дизайн