Запись из пхп в мискюл Кто может помочь?
#1
Отправлено 28 марта 2005 - 22:28
<head>
<title></title>
</head>
<body>
<?php
include ("include/config.php");
if ($submit)
{
$link = mysql_connect($host, $db_user, $db_pass)
or die ("Could not connect to MySQL");
mysql_select_db ($db_name, $link)
or die ("Could not select database");
$query = "INSERT INTO temp(user) values ('$user')";
$result = mysql_query ($query);
echo "Datele au fost salvate";
} else {
?>
<form method="post" action="<? echo $PHP_SELF?>">
<input type="text" name="user"></td>
<input type="submit" name="Submit" value="Salvare">
</form>
<?
}?>
</body>
</html>
Помогите кто чем может?
Не хочет записовать в таблицу
Может чтото неверно?
Прочитала дофига инфы и полюбому не получяется
#2
Отправлено 29 марта 2005 - 00:03
<html>
<head>
<title></title>
</head>
<body>
<?php
include ("include/config.php");
if ($submit)
{
$link = mysql_connect($host, $db_user, $db_pass)
or die ("Could not connect to MySQL");
mysql_select_db ($db_name, $link)
or die ("Could not select database");
$query = "INSERT INTO temp(user) values ('$user')";
/* не стоит так делать, не факт что сработает
если в таблице только одно поле - то добавляйте, так:
$query = "INSERT INTO temp values('$user')"; если несколько, то
$query = "INSERT INTO temp values('$user', '', '', '', ''.n.,'')";
так оно как то логичнее получается, хотя так как у Вас по идее тоже должна бы добавлять - но тут с последними мускулями вышедшими вообще проблем много было, может что нибудь наменяли опять. Кстати у вас между values и ('$user. пробел - вполне возможно это влияет, но маловероятно.
Но это не главная проблема,
*/
$result = mysql_query ($query);
echo "Datele au fost salvate";
} else {
/* --- а это что такое ? открываем элсу и дальше закрываем пхп код.
простите уважаемая, мне почему то кажется что так нельзя.
скрипт не может воспринимать статический текст хтмл как элемент кода он
никогда этого не поймёт */
echo("
<form method=post action=\"".$PHP_SELF."\">
<input type=text name=user></td>
<input type=submit name=Submit value=Salvare>
</form> ");
}
?>
</body>
</html>
Помогите кто чем может? /* денег не дам */
Не хочет запис(Ы)вать в таблицу
Может что(-)то неверно?
Прочитала дофига инфы и полюбому не получ(ае)тся
Добавлено в [mergetime]1112047385[/mergetime]
p.s. один совет чисто от себя. Усложняете дело, используете скажем указатели на хендлеры соединения мускульного, хотя по большому счёту это никому не надо, явно у вас же нету соединения с несколькими серверами СУБД а пхп такая штука, он же не си, по типу если сокет не закрыли потом будет боли на попу устраивать, пхп может и сам закрыть, так зачем же себя утруждать лишней головной болью ?
Сообщение изменено: Syd[eX] (28 марта 2005 - 23:49 )
Наша доблестная связь.
#4
Отправлено 01 апреля 2005 - 12:17
а если я через гет запрос пошлю ?небольшой совет:
if(isset($submit)) {}
или еще лучше так:
if(isset($HTTP_POST_VARS['submit'])) {}
добавил бы только что наверно было бы разумнее проверить как гет так и пост. Хотя извращенцев кто будет по гет слать тоже мало...это правда ))
больше для удобства киддисов ))
Syd[eX], а чем тебе хандлеры не угодили?
А зачем они ? Если ты не работаешь за несколькими базами одновременно, зачем писать лишние строки ? Этж опшинал параметр.
Хотя наверно тут спор бессмысленный, я просто жутко ленив по натуре поэтому писать лишнюю строку для меня мука )
Наша доблестная связь.
#5
Отправлено 03 апреля 2005 - 02:06
Попробуй и удивисьа это что такое ? открываем элсу и дальше закрываем пхп код.
простите уважаемая, мне почему то кажется что так нельзя.
скрипт не может воспринимать статический текст хтмл как элемент кода он
никогда этого не поймёт
#7
Отправлено 14 апреля 2005 - 11:10
а если я через гет запрос пошлю ?
добавил бы только что наверно было бы разумнее проверить как гет так и пост. Хотя извращенцев кто будет по гет слать тоже мало...это правда ))
больше для удобства киддисов ))
А зачем они ? Если ты не работаешь за несколькими базами одновременно, зачем писать лишние строки ? Этж опшинал параметр.
Хотя наверно тут спор бессмысленный, я просто жутко ленив по натуре поэтому писать лишнюю строку для меня мука )
если гет запрос то - $HTTP_GET_VARS
я привык в перле с хандлерами работать, там на них всйо построено
#8
Отправлено 15 апреля 2005 - 15:41
Множество лишних движений, но это для начинающего программиста нормально - «если example работает, то я лучше ничего удалять не буду» ;-)
Надо просто применить эти лишние действия.
Итак, по порядку.
INSERT ничего путного вернуть не может, так что $result = mysql_query() - это лишнее. Хотя, в данном случае $result может нам помочь:
$result = mysql_query($query); if (!$result) { // если случилась какая фигня при выполнении запроса, $result будет равен false echo mysql_error(); }Если фигня с запросом какая (таблицы такой нету, поля такого в таблице нету, ну или какая другая синтаксическая ошибка) - то mySQL радостно тебе об этом сообщит. Вообще, я рекомендую ещё и запрос вывести, тогда вообще всё будет понятно. Т.е.:
$result = mysql_query($sql); if (!$result) { echo 'MySQL Said: '.mysql_error().'<br />Query: '.$sql; }Насчёт того, что не стоит так делать ( INSERT INTO temp(user) VALUES ('$user') ) - не слушай никого, человек в лучшем случае путает. Именно так и надо делать, если хочешь использовать INSERT INTO ... VALUES() для вполне определённых полей.
Я бы, на твоём месте использовал ещё более удобную конструкцию:
INSERT INTO ... SET ..., т.е.
$sql = 'INSERT INTO temp SET user = "'.$user.'"';Ну это ладно, это я от темы отвлёкся.
Вобщем пробуешь эту фигню, постишь сюда то, что тебе mySQL скажет и мы тебе дальше объясним всё.
P.S. касательно спора насчёт субмита:
$_REQUEST - php.net
#9
Отправлено 17 апреля 2005 - 17:07
Сообщение изменено: tomatensaft (17 апреля 2005 - 17:08 )
#11
Отправлено 17 апреля 2005 - 20:53
Сообщение изменено: tomatensaft (17 апреля 2005 - 20:56 )