[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Нет коннекта с БД
ak167
Блин... этак книжка, по которой я изучаю php настоящий ужас!((( Объясняют все так, что половину не понять. Вот опять написал скрипт и взял часть скрипта из книжки для записи в БД а на пашет(((

Вот данные по БД:
database username
z71647_test

database password
asdfghjk

database name
z71647_test

database host
mysqlserver

А вот скрипт для соединения и записи в БД, который не работает:
//формируем SQL-строку
$tabellenname="gastbuch";
$sql="INSERT INTO $tabellenname (login, email, message, datum) values ('".$_POST[login]."', '".$_POST[email]."'.'".$_POST[message]."', now())";

//подключаемся к БД
$link=mysql_connect("mysqlserver", "z71647_test", "asdfghjk");
mysql_select_db("z71647_test", "$link");
mysql_query($sql, $link);


Помогите разобраться. Сам уже все варианты перепробывал и все бестолку. пишет ошибка в 42-ой строке, т.е. в
mysql_select_db("z71647_test", "$link");




Спустя 1 минута, 38 секунд (10.11.2009 - 22:34) Pinoplast написал(а):
Поменяй местами операции

Спустя 30 секунд (10.11.2009 - 22:34) Pinoplast написал(а):
сначала соединяешся з базой потом делаеш запрос

Спустя 47 секунд (10.11.2009 - 22:35) Pinoplast написал(а):
это одна из многочисленых ошибок

Спустя 9 минут, 18 секунд (10.11.2009 - 22:44) ak167 написал(а):
Pinoplast, поменять всмысле вот так?


//подключаемся к БД
$link=mysql_connect("mysqlserver", "z71647_test", "asdfghjk");
mysql_select_db("z71647_test", "$link");
mysql_query($sql, $link);

//формируем SQL-строку
$tabellenname="gastbuch";
$sql="INSERT INTO $tabellenname (login, email, message, datum) values ('".$_POST[login]."', '".$_POST[email]."'.'".$_POST[message]."', now())";


Пробывал. Всеравно ошибка в
mysql_select_db("z71647_test", "$link");

Спустя 28 секунд (10.11.2009 - 22:45) Pinoplast написал(а):
да

Спустя 2 минуты, 10 секунд (10.11.2009 - 22:47) Pinoplast написал(а):
вот эту часть можно вобше не писать
 $tabellenname="gastbuch"; 
а сразу в запрос поставить название таблицы

Спустя 3 минуты, 8 секунд (10.11.2009 - 22:50) ak167 написал(а):
Pinoplast, сделал, но опять ничего не записалось и указывает на ошибку в этой строке
mysql_select_db("z71647_test", "$link");

Спустя 39 секунд (10.11.2009 - 22:51) ak167 написал(а):
Весь скрипт целиком:

<?php


if($_POST['sent']==1)
{
if(!$_POST['login']){$nologin=1;}
if(!$_POST['email']){$noemail=1;}
if(!$_POST['message']){$nomessage=1;}

if($_POST['login'] AND $_POST['email'] AND $_POST['message'])
{
//Удаляем все пробелы из полей
$_POST['login']=trim($_POST['login']);
$_POST['email']=trim($_POST['email']);

//удаляем html и php тэги из полей
$_POST['login']=strip_tags($_POST['login']);
$_POST['email']=strip_tags($_POST['email']);
$_POST['message']=strip_tags($_POST['message']);

//заменяем символ тильды на пробел
$_POST['login']=str_replace('~', ' ', $_POST['login']);
$_POST['email']=str_replace('~', ' ', $_POST['email']);
$_POST['message']=str_replace('~', ' ', $_POST['message']);

//заменяем символ возврата каретки и переноса строки на пробел
$t1=chr(10);
$t2=chr(13);
$_POST['login']=str_replace($t1, ' ', $_POST['login']);
$_POST['email']=str_replace($t1, ' ', $_POST['email']);
$_POST['message']=str_replace($t1, ' ', $_POST['message']);
$_POST['login']=str_replace($t2, ' ', $_POST['login']);
$_POST['email']=str_replace($t2, ' ', $_POST['email']);
$_POST['message']=str_replace($t2, ' ', $_POST['message']);


//подключаемся к БД
$link=mysql_connect("mysqlserver", "z71647_test", "asdfghjk");
mysql_select_db("z71647_test", "$link");
mysql_query($sql, $link);

//формируем SQL-строку
$sql="INSERT INTO gastbuch (login, email, message, datum) values ('".$_POST[login]."', '".$_POST[email]."'.'".$_POST[message]."', now())";


}
}


if(!$_POST['sent'])
{
?>
<html><body>
<hr><br><br>
<form
action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<input
type="hidden" name="sent" value="1">
Логин:<br><input type="text" name="login" value="<?php echo $_POST['login']; ?>">
<?php
if($nologin==1){echo "Введите логин!";} ?>
<br>
E-mail:<br><input type="text" name="email" value="<?php echo $_POST['email']; ?>">
<?php
if($noemail==1){echo "Введите email!";} ?>
<br>
Сообщение:<br><textarea name="message" type="text" cols="50' rows="30" value="<?php echo $_POST['message']; ?>"></textarea>
<?php if($nomessage==1){echo "Введите сообщение!";} ?>
<br><input type="submit" name="submit">
</form>
</body></html>


<?php
}
?>

Спустя 22 секунды (10.11.2009 - 22:51) Pinoplast написал(а):
Мой кусок работате нормально посмотри может чтото у тебя не так

$db=mysql_connect ("localhost","biblio","12q");
$soedineniestabliceu=mysql_select_db("djurnalc",$db);



убери кавычки mysql_select_db("z71647_test", $link);

Спустя 1 минута, 19 секунд (10.11.2009 - 22:52) SunSet написал(а):
laugh.gif
Ааааа))) ЖЖгешь Pinoplast, сначала запрос, потом только переменную читаете)) ты сейчас такую ерунду насоветовал)))
Цитата (ak167 @ 10.11.2009 - 19:44)
mysql_query($sql, $link);//формируем SQL-строку
$tabellenname="gastbuch";
$sql="INSERT INTO $tabellenname (login, email, message, datum) values ('".$_POST[login]."', '".$_POST[email]."'.'".$_POST[message]."', now())";

Спустя 1 минута, 26 секунд (10.11.2009 - 22:54) Pinoplast написал(а):
Цитата (SunSet @ 10.11.2009 - 19:52)
laugh.gif
Ааааа))) ЖЖгешь Pinoplast, сначала запрос, потом только переменную читаете)) ты сейчас такую ерунду насоветовал)))
Цитата (ak167 @ 10.11.2009 - 19:44)
mysql_query($sql, $link);//формируем SQL-строку
$tabellenname="gastbuch";
$sql="INSERT INTO $tabellenname (login, email, message, datum) values ('".$_POST[login]."', '".$_POST[email]."'.'".$_POST[message]."', now())";

ты про что!!!!

Спустя 51 секунда (10.11.2009 - 22:55) Pinoplast написал(а):
ты смотри чью цытату написал грамотный biggrin.gif

Спустя 43 секунды (10.11.2009 - 22:55) Pinoplast написал(а):
Цитата (Pinoplast @ 10.11.2009 - 19:34)
сначала соединяешся з базой потом делаеш запрос

Я писал вот что!!!

Спустя 58 секунд (10.11.2009 - 22:56) SunSet написал(а):
Pinoplast
Он тебя спросил, так ли нужно сделать или нет. На что ты утвердительно ответил.
П.С. Ты спецом одно предложение на три-четыре поста разбиваешь, чтоб количество сообщений быстрее увеличить?

Спустя 2 минуты, 51 секунда (10.11.2009 - 22:59) Pinoplast написал(а):
Всеравно я не понял про что ты

Спустя 1 минута, 20 секунд (10.11.2009 - 23:01) Pinoplast написал(а):
он спросил по первому скрипту явно запрос идет перед соединением базы я ему и сказал поменять в чем ошыбка?

Спустя 17 секунд (10.11.2009 - 23:01) ak167 написал(а):
Цитата (Pinoplast @ 10.11.2009 - 19:51)
Мой кусок работате нормально посмотри может чтото у тебя не так

$db=mysql_connect ("localhost","biblio","12q");
$soedineniestabliceu=mysql_select_db("djurnalc",$db);



убери кавычки mysql_select_db("z71647_test", $link);

Pinoplast, убрал кавычки. Теперь сообщение об ошибке не выдает, но и в БД ничего не записывает(((
Где еще есть ошибки?

Спустя 2 минуты, 46 секунд (10.11.2009 - 23:04) ak167 написал(а):
Может в БД нужно создать таблицу php_buch или как?

Спустя 9 минут, 48 секунд (10.11.2009 - 23:13) Pinoplast написал(а):
у тебя подключение идет к таблице z71647_test а запрос на запись gastbuch а создать хочеш с третим названием ты решы что тебе нужно и впишы одно

Спустя 18 минут, 3 секунды (10.11.2009 - 23:32) ak167 написал(а):
Переделал вот так:
//подключаемся к БД
$link=mysql_connect("mysqlserver", "z71647_test", "asdfghjk");
mysql_select_db(z71647_test, $link);
mysql_query($sql, $link);

//формируем SQL-строку
$sql="INSERT INTO z71647_test (login, email, message, datum) values ('".$_POST[login]."', '".$_POST[email]."'.'".$_POST[message]."', now())";


Так правильно?

Всеравно данные не записываются и в самой БД написано:
В БД не обнаружено таблиц.


Что еще неправильно?

Спустя 1 минута, 47 секунд (10.11.2009 - 23:33) Pinoplast написал(а):
таблицу создай в базе с названием z71647_test и с полями login, email, message, datum

Спустя 16 минут (10.11.2009 - 23:49) Pinoplast написал(а):
$sql="INSERT INTO z71647_test (login, email, message, datum) values ('".$_POST[login]."', '".$_POST[email]."'.'".$_POST[message]."', now())";


эту строчку поста перед
вот этой

mysql_query($sql, $link);

Спустя 34 минуты, 55 секунд (11.11.2009 - 00:24) Gabriel написал(а):
Pinoplast
у него и так соединение с БД а потом запрос. БЛИН ребята харе дискусии тут устраивать.
ak167
<?php
$link=mysql_connect("mysqlserver", "z71647_test", "asdfghjk");
mysql_select_db("z71647_test", $link);
//формируем SQL-строку
$sql="INSERT INTO gastbuch SET `login` = '".mysql_real_escape_string( $_POST['login'] )."',
`email`='"
.mysql_real_escape_string( $_POST['email'] )."', `message`='".mysql_real_escape_string( $_POST['message'] )."',
`datum`= now()"
)or die( mysql_error() );
mysql_query($sql, $link);

вот так приблизительно попробуй
насчет даты неуверен не сталкивался

Спустя 10 минут, 16 секунд (11.11.2009 - 00:35) Pinoplast написал(а):
Gabriel а че у тебя значит gastbuch в запросе?

Спустя 10 минут, 19 секунд (11.11.2009 - 00:45) Gabriel написал(а):
Pinoplast
ну если ты так читал тему то перечитай ее заново!

Спустя 57 минут, 51 секунда (11.11.2009 - 01:43) S{oRpiO написал(а):
ппц все элементарно и просто просто надо было человеку правильно помочь Pinoplast ты конечно жжеш... я под стулом...

твоя приписка

УЧУ PHP, а такое осчусчение что головой ломаю стены Ж-)

помойму ты стены башкой прошибаеш а тебе кажется что php учиш smile.gif

Спустя 5 минут, 35 секунд (11.11.2009 - 01:48) SunSet написал(а):
S{oRpiO
Думал, что только я это заметил)))
+1
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.