|
|
|
| Почему этот скрипт добавляет в базу данных пустую строку?
Существует база данных (она выбирается в скрипте сonfig.php) в ней есть таблица setting с тремя стлобцами
name, url, email.
По задумке данный скрипт должен заполнять базу данных если в ней нет записей и обновлять поля если есть.
<?
include "config.php";
function setting_menu ()
{
?>
<form method="post" action="<? setting (); ?>">
<table border="0">
<tr><td>Íàçâàíèå Ñàéòà:</td>
<td><input type="text" name="name" size="60" maxlength="60"></td>
<td>1</td>
<tr><td>URL</td>
<td><input type="text" name="url" size="60" maxlength="60"></td>
<td>1</td>
<tr><td>e-mail àäìèíèñòðàòîðà</td>
<td><input type="text" name="email" size="40"></td>
<td>1</td>
<tr><td><input type="submit" value="ñîõðàíèòü"></td></tr>
</table>
</form>
<?
}
setting_menu ();
function setting ()
{
$name=($HTTP_POST_VARS['name']);
$url=($HTTP_POST_VARS['url']);
$email=($HTTP_POST_VARS['email']);
$select_row="SELECT * FROM setting";
$query=mysql_query($select_row);
$count_row=mysql_num_rows($query);
if($count_row==0)
{
if (!empty($HTTP_POST_VARS['name']) or !empty($HTTP_POST_VARS['url']) or !empty($HTTP_POST_VARS['email']))
{
$setting=mysql_query ("insert into setting values ('$name','$url','$email');");
}
}
else
{
if (!empty($HTTP_POST_VARS['name']) or !empty($HTTP_POST_VARS['url']) or !empty($HTTP_POST_VARS['email']))
{
$setting=mysql_query ("update setting name='$name',url='$url', email='$email';");
}
}
}
?>
|
| |
|
|
|
|
|
|
|
для: ares44
(07.04.2005 в 16:18)
| | Как то странно ты язык SQL используешь. Тут устанешь разбираться что разрешено в SQL из твоего кода, а что нет. Пиши правильно запросы как положено и все должно работать. Заодно переменные POST можешь написать в привычном виде, может тоже где глюк закрался.
$_POST["name"] вместо $HTTP_POST_VARS['name']
А запросы так: (кстати, таблица у тебя точно с маленькой буквы начинается?)
INSERT INTO setting (name, url, email) VALUES ($_POST["name"], $_POST["url"], $_POST["email"])
UPDATE setting SET name='$_POST["name"]', ну и т.д. | |
|
|
|
|
|
|
|
для: XPraptor
(07.04.2005 в 17:12)
| | это все XML с таким трудом заставляю себя писать команды болшими буквами | |
|
|
|
|
|
|
|
для: ares44
(07.04.2005 в 16:18)
| | Вместо
update setting name='$name',url='$url', email='$email'
|
следует писать
update setting set name='$name',url='$url', email='$email'
|
| |
|
|
|