|
|
|
| Что здесь неправильно, подскажите плиз! Необходимо сделать для начала, чтобы если запись конкретного пользователя присутствует
в таблице tabl1(определяется по логину), то она должна обновляться, если нет, то заноситься новая.
В данном коде и не обновляется и новая не хочет заносится!!! Просто добавление записи без обновления работает.
<?php
session_start();
$login = $HTTP_SESSION_VARS['username'];
$v1 = addslashes($v1);
$v2 = addslashes($v2);
$v3 = addslashes($v3);
$v4 = addslashes($v4);
$v5 = addslashes($v5);
$v6 = addslashes($v6);
$v7 = addslashes($v7);
$v8 = addslashes($v8);
$v9 = addslashes($v9);
$v10 = addslashes($v10);
$v11 = addslashes($v11);
$v12 = addslashes($v12);
$v13 = addslashes($v13);
$v14 = addslashes($v14);
$v15 = addslashes($v15);
@ $db = mysql_pconnect("localhost", "miit", "miit");
if (!$db)
{
echo "Ошибка. Невозможно подключиться к базе данных.";
exit;
}
mysql_select_db("miit");
// Запрос к базе данных с целью выяснения существования соответствующей записи
$query = "select count(*) from tabl1 where
login = '$login'";
$result = mysql_query( $query );
if($result)
{
echo 'Такая запись уже есть. Она обновится.';
$query = "update tabl1 set (login = '$login', v1 = '$v1', v2 = '$v2', v3 = '$v3', v4 = '$v4', v5 = '$v5', v6 = '$v6', v7 = '$v7', v8 = '$v8', v9 = '$v9', v10 = '$v10', v11 = '$v11', v12 = '$v12', v13 = '$v13', v14 = '$v14', v15 = '$v15') where login =$login";
exit;
}
//Если все нормально, сохранить информацию в БД
else
{
$query = "insert into tabl1 values ('$login', '$v1', '$v2', '$v3', '$v4', '$v5', '$v6', '$v7', '$v8', '$v9', '$v10', '$v11', '$v12', '$v13', '$v14', '$v15')";
$result = mysql_query($query);
if ($result)
{
echo 'Данные сохранены.';
echo '<p><a href="login.php">Веронуться к списку таблиц</a></p>';
}
}
?>
Попробовала сделать обновление отдельно... видимо не нравится что-то в этой конструкции
$query = "update tabl1 set (login = '$login', v1 = '$v1', v2 = '$v2', v3 = '$v3', v4 = '$v4', v5 = '$v5', v6 = '$v6', v7 = '$v7', v8 = '$v8', v9 = '$v9', v10 = '$v10', v11 = '$v11', v12 = '$v12', v13 = '$v13', v14 = '$v14', v15 = '$v15') where login =$login";
при попытке обновления существующей записи
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 'where login='kira'' at line 1
после разных изощрений в коде, приходишь все равно к исходному
выдается ошибка
Unknown column 'kira' in 'field list'
kira это логин
либо
Unknown column 'v15' in 'field list'
Каждый раз все по разному | |
|
|
|
|
|
|
|
для: emeli
(30.04.2005 в 18:33)
| | Очень помощь нужна, уже вторые сутки мучаюсь с этим! :((( | |
|
|
|
|
|
|
|
для: emeli
(30.04.2005 в 18:33)
| | Вместо
update tabl1 set (login = '$login', v1 = '$v1', v2 = '$v2', v3 = '$v3', v4 = '$v4', v5 = '$v5', v6 = '$v6', v7 = '$v7', v8 = '$v8', v9 = '$v9', v10 = '$v10', v11 = '$v11', v12 = '$v12', v13 = '$v13', v14 = '$v14', v15 = '$v15') where login =$login
|
попробуйте
update tabl1 set login = '$login', v1 = '$v1', v2 = '$v2', v3 = '$v3', v4 = '$v4', v5 = '$v5', v6 = '$v6', v7 = '$v7', v8 = '$v8', v9 = '$v9', v10 = '$v10', v11 = '$v11', v12 = '$v12', v13 = '$v13', v14 = '$v14', v15 = '$v15' where login =$login
|
| |
|
|
|
|
|
|
|
для: cheops
(30.04.2005 в 22:39)
| | Попробовала разные варианты вот чего добилась...
$query = "update tabl1 set v1 = '$v1', v2 = '$v2', v3 = '$v3',
v4 = '$v4', v5 = '$v5', v6 = '$v6', v7 = '$v7', v8 = '$v8', v9 = '$v9',
v10 = '$v10', v11 = '$v11', v12 = '$v12', v13 = '$v13', v14 = '$v14', v15='$v15'
where login='$login'";
убрала первое поле login, чтобы оно не перезаписывалось… пишет ошибку «Unknown column 'v15' in 'field list'», поле v15 в базе есть… и при добавлении записи отдельно отлично добавляется все…
Из приведенного запроса убираю это поле, данные все обновляются, за исключением v15 поля… Не понимаю почему %( | |
|
|
|
|
|
|
|
для: emeli
(30.04.2005 в 22:47)
| | Хм... не могли бы вы выложить дамп со структурой таблицы tabl1 и пару записей - интересно на это собственными глазами посмотреть... у меня по 60 полей одновременно обновлялось без всяких проблем. Как вариант можно осуществлять обновление в два запроса - не элегантно, зато работает. | |
|
|
|
|
|
|
|
для: cheops
(30.04.2005 в 23:05)
| | У меня стоит Денвер может из-за этого криво работает??? Как сделать дамп, я пока не сильна в этом? | |
|
|
|
|
|
|
|
для: emeli
(30.04.2005 в 23:53)
| | В состав денвера входит phpMyAdmin - нужно набрать что вроде http://localhost/phpmyadmin/ - выбрать базу данных, в ней таблицу и перейти по пункту меню "Экспорт".
PS Теоретически может и Денвер виноват, нужно будет попробовать на обычной связке. Когда выложите дамп - сравним. | |
|
|
|
|
|
|
|
для: cheops
(01.05.2005 в 01:28)
| | Я удалила эту запись везде, все получилось. Переписала заново ее и в html коде и в базе, теперь все работает!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!! Что видимо в коде не нравилось! cheops, огромное спасибо за внимание к моей проблеме!!!! | |
|
|
|
|