Помогите с php/MySql
1.
Wapium 12.03.2011 / 15:56
Решил заняться с БД,но что то не пойму как записать в базу что нибудь?
Например пробую я записать просто текст полученный с форму,но вот беда,не чего не получается!Может кто подскажет,а лучше покажет как правильно подключиться к Бд,а затем записать в столбец полученный с формы текст,авось и ошибку свою найду

?Заранее спасибо!
2.
Виталий 12.03.2011 / 16:13
Например пробую я записать просто текст полученный с форму,но вот беда,не чего не получается!
Скопируй сюда свой код =)
Прочти лучше учебники и все поймеш...там ничего сложного..
http://php.su/books/mysql/mysql_helper.zip
3.
★☆ ИгRok™ ☆★ 12.03.2011 / 16:33
Думаю,это проще всего. По крайней мере на мой взгляд.
<?php
$config = array();
$config['mysql']['host'] = 'localhost';
$config['mysql']['user'] = 'юзер';
$config['mysql']['pass'] = 'патоль';
$config['mysql']['base'] = 'имя базы';
$connect = mysql_connect($config['mysql']['host'], $config['mysql']['user'], $config['mysql']['pass']);
if(!$connect) exit('MySQL Error');
elseif(!mysql_select_db($config['mysql']['base'], $connect)) exit('MySQL Database not found.'); // подключаемся к базе
function filter($str)
{
return trim(mysql_real_escape_string(htmlentities($str, ENT_QUOTES, 'UTF-8')));
}
// фильтр данных
if(!isset($_POST['pole']))
{
echo '<form action="?" method="post" />
<input type="text" name="pole" /><br />
<input type="submit" value="Go" /><br /></form>';
}
else
{
$pole2 = filter($_POST['pole']);
if(empty($pole2)) die('Заполните поле ввода.');
mysql_query('INSERT INTO table SET pole = "'.$pole2.'"');
echo '<b>Текст успешно добавлен.</b>';
}
?>
Структура таблицы будет выглядеть так:
CREATE TABLE `table` (
`id` int(11) NOT NULL auto_increment,
`pole` varchar(200) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
ну,а выводить,так:
<?php
$a = mysql_query('SELECT * FROM table ORDER BY RAND() LIMIT 1');
if(mysql_num_rows($a) == 0)
{
echo 'Записей нет<br />';
}
else
{
while($res = mysql_fetch_assoc($a))
{
echo '<b>'.$res['pole'].'</b><br />';
}
}
?>
4.
ramzes 12.03.2011 / 17:21
Лучше мускули, понятнее для новичка.
5.
Wapium 12.03.2011 / 17:31
Всем спасибо!
6.
Wapium 12.03.2011 / 19:46
Блин,так вроде понял!Но когда написал сообшение и обновляеш страницу то сообшение снова и снова добавляется!И ешё,почему только когда пишеш в поля числа сообшение записывается в БД?
Архив прилагается:
Бэкап(денвер)
И ешё,почему когда просто обновляеш страницу(когда есть два сообшения),то они меняются местами?
7.
Wapium 12.03.2011 / 20:22
<?php
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
include_once 'incfiles/head.php';
if (isset($error)){echo"<b>Ошибка.</b><br/>";}
/*-----------------------------------------------*/
echo '<div class="logos"><b>Гостевая</b></div>';
if(!isset($_POST['text'])) {
echo '<div class="b"><form action="?" method="post" />';
echo 'Сообшение: (max: 200)<br/><input type="text" name="text" /><br/>';
echo 'Имя: (max: 20)<br/><input type="text" name="name" /><br/>';
echo '<input type="submit" value="Отправить" />';
echo '</form></div>';
} else {
$text2 = filter($_POST['text']);
$name = filter($_POST['name']);
if(empty($text2)) die('<div class="menu">Вы не ввели сообшение.</div>');
//Записываем в БД
mysql_query('INSERT INTO `guest` SET
`text` = '.$text2.',
`name` = '.$name.'
');
echo '<div class="b"><b>Текст успешно добавлен.</b><br/></div>';
}
//Выводим сообшения
$a = mysql_query('SELECT * FROM `guest` ORDER BY RAND() DESC');
// Проверка на одинаковые сообщения
/*
if ($odinakmessage['text'] == $text2) {
$odinakmessage = mysql_fetch_array($a);
echo '<div class="menu">Такое сообшение уже есть!<br/></div>';
}*/
// Проверка(записи есть или нет)
if(mysql_num_rows($a) == 0) {
echo '<div class="menu">Записей нет.Будь первым!<br/></div>';
} else {
while( $res = mysql_fetch_assoc($a)) {
echo '<div class="menu">Сообшение:<b> '.$res['text'].'</b><br/>';
echo '<div class="quote">Автор: '.$res['name'].'</div></div>';
}
}
/*-----------------------------------------------*/
include_once 'incfiles/end.php';
?>
И вот что то не получается сделать Проверку на одинаковые сообщения
<?php
// Проверка на одинаковые сообщения
if ($odinakmessage['text'] == $text2) {
$odinakmessage = mysql_fetch_array($a);
echo '<div class="menu">Такое сообшение уже есть!<br/></div>';
} ?>
8.
Станислав 12.03.2011 / 20:47
да едрёны лапти... вот, кури
http://php.su
9.
Wapium 12.03.2011 / 20:54
8.
SNELS, все так серьезно запущенно что ли?(((
10.
ramzes 12.03.2011 / 21:35
Разрушай переменную массива $_POST
11.
Станислав 12.03.2011 / 22:21
9.
Wapium, да ты просто почитай там чего. Потом малость погугли. Вот это же элементарные вопросы. Ты их просто обязан сам разобрать.
12.
Димон 13.03.2011 / 01:39
тема сродни с моим вопросом.
Вопрос как сделать, чтобы при mysql_connect ошибки не выводились в браузер?
URL:
https://visavi.net/topics/19658