Вернуться   Форумы Якутск Онлайн > Hi-Tech > Сисадмины и программисты > Веб-дизайн
Ответ
 
Опции темы Опции просмотра

Проблема с запросом UPDATE в базу на PHP
Старый 18.10.2009, 01:01   #1
Hulio
Участник
 
Аватар для Hulio
 
Hulio вне форума
Регистрация: 22.02.2009
Адрес: 2ГАЛА
Сообщений: 459
Hulio имеет наиславнейшую репутациюHulio имеет наиславнейшую репутациюHulio имеет наиславнейшую репутациюHulio имеет наиславнейшую репутациюHulio имеет наиславнейшую репутациюHulio имеет наиславнейшую репутациюHulio имеет наиславнейшую репутациюHulio имеет наиславнейшую репутациюHulio имеет наиславнейшую репутациюHulio имеет наиславнейшую репутациюHulio имеет наиславнейшую репутацию
По умолчанию Проблема с запросом UPDATE в базу на PHP

Пытаюсь сделать запрос в базу:

$test = mysql_query("UPDATE testbase SET number = '555' WHERE id='1'") or die (mysql_error($test));

Выходит сообщение: Warning: mysql_error(): supplied argument is not a valid MySQL-Link resource in <..... путь к файлу.... >

Вот сам код

Подключаемся к базе

PHP код:
$conn mysql_connect ("localhost","admin","pass");
mysql_select_db ("test",$conn); 
Запрос на загрузку данных
PHP код:
$result mysql_query ("SELECT id,number FROM `testbase` WHERE id='1'",$conn);
if (
mysql_num_rows($result) > 0
    {
    
$buffer mysql_fetch_array ($result);
    } 

Он работает корректно о чем сообщает мне на экране следующая строка

PHP код:
echo('ПЕРЕМЕННАЯ: '.$buffer['number']); 
Затем я делаю запрос который собсно и не выполняется

PHP код:
$test mysql_query("UPDATE testbase SET number = '555' WHERE id='1'") or die (mysql_error($test)); 
Я уже немогу, голову сломал почему $test возвращает false, излазил форумы, пытался вникнуть в мануал по функции но что-то упускаю, немогу догнать где я парюсь, нужна помощь.
  Ответить с цитированием

Старый 18.10.2009, 01:54   #2
Hulio
Участник
 
Аватар для Hulio
 
Hulio вне форума
Регистрация: 22.02.2009
Адрес: 2ГАЛА
Сообщений: 459
Hulio имеет наиславнейшую репутациюHulio имеет наиславнейшую репутациюHulio имеет наиславнейшую репутациюHulio имеет наиславнейшую репутациюHulio имеет наиславнейшую репутациюHulio имеет наиславнейшую репутациюHulio имеет наиславнейшую репутациюHulio имеет наиславнейшую репутациюHulio имеет наиславнейшую репутациюHulio имеет наиславнейшую репутациюHulio имеет наиславнейшую репутацию
По умолчанию

Вот только что тестил 100% рабочий код, - неработает

PHP код:
$db mysql_connect("localhost","admin","pass");
mysql_select_db("testdb",$db);

$result mysql_query ("UPDATE firma SET name='Алексей' WHERE id='3'");

if (
$result == 'true')
{
echo 
"Информация в базе обновлена успешно!";

}
else 
{
echo 
"Информация в базе не обновлена!";

Естественно существует база testdb в ней находится табличка firma в которой содержатся 3 записи с 2 полями id и name. В чем причина, что за фигня ?
  Ответить с цитированием

Старый 18.10.2009, 09:14   #3
Googleman
Постоялец
 
Аватар для Googleman
 
Googleman вне форума
Регистрация: 12.08.2008
Сообщений: 762
Googleman имеет наиславнейшую репутациюGoogleman имеет наиславнейшую репутациюGoogleman имеет наиславнейшую репутациюGoogleman имеет наиславнейшую репутациюGoogleman имеет наиславнейшую репутациюGoogleman имеет наиславнейшую репутациюGoogleman имеет наиславнейшую репутациюGoogleman имеет наиславнейшую репутациюGoogleman имеет наиславнейшую репутациюGoogleman имеет наиславнейшую репутациюGoogleman имеет наиславнейшую репутацию
По умолчанию

А разве mysql_error принимает какие-нибудь параметры кроме идентификатора подключения? Если подключение к базе одно, то его без параметров запускают.

PHP код:
int mysql_errno([int $link_identifier])

string mysql_error([int $link_identifier]) 
Цитата:
Warning: mysql_error(): supplied argument is not a valid MySQL-Link resource in <..... путь к файлу.... >
но ошибка в первом сообщении связана с mysql_error.

Последний раз редактировалось Googleman, 18.10.2009 в 13:59.
  Ответить с цитированием

Старый 18.10.2009, 11:32   #4
Hulio
Участник
 
Аватар для Hulio
 
Hulio вне форума
Регистрация: 22.02.2009
Адрес: 2ГАЛА
Сообщений: 459
Hulio имеет наиславнейшую репутациюHulio имеет наиславнейшую репутациюHulio имеет наиславнейшую репутациюHulio имеет наиславнейшую репутациюHulio имеет наиславнейшую репутациюHulio имеет наиславнейшую репутациюHulio имеет наиславнейшую репутациюHulio имеет наиславнейшую репутациюHulio имеет наиславнейшую репутациюHulio имеет наиславнейшую репутациюHulio имеет наиславнейшую репутацию
По умолчанию

Впринципе я mysql_error использую для отладки, этот код не влияет на программу т.к. и без mysql_error апдейт не работает и ошибку опрделить не могу.

Последний раз редактировалось Hulio, 18.10.2009 в 11:43.
  Ответить с цитированием

Старый 18.10.2009, 14:14   #5
Regis Filius
SuperVisor TF2
 
Regis Filius вне форума
Регистрация: 21.06.2008
Сообщений: 623
Regis Filius имеет наиславнейшую репутациюRegis Filius имеет наиславнейшую репутациюRegis Filius имеет наиславнейшую репутациюRegis Filius имеет наиславнейшую репутациюRegis Filius имеет наиславнейшую репутациюRegis Filius имеет наиславнейшую репутациюRegis Filius имеет наиславнейшую репутациюRegis Filius имеет наиславнейшую репутациюRegis Filius имеет наиславнейшую репутациюRegis Filius имеет наиславнейшую репутациюRegis Filius имеет наиславнейшую репутацию
По умолчанию

Существует база данных db, в которой есть таблица table со столбцами id (mediumint) и column (text). Всё работает нормально.
PHP код:
<?php
mysql_connect 
('localhost''user''pass');
mysql_select_db ('db');

$query mysql_query ("UPDATE `table` SET `column`='value' WHERE `id`='1'") or die (mysql_error());
if (
$query true) {echo 'База данных обновлена';}
else echo 
'Не удалось обновить базу данных';
?>
А ошибку какую пишет?
  Ответить с цитированием

Старый 18.10.2009, 14:33   #6
Hulio
Участник
 
Аватар для Hulio
 
Hulio вне форума
Регистрация: 22.02.2009
Адрес: 2ГАЛА
Сообщений: 459
Hulio имеет наиславнейшую репутациюHulio имеет наиславнейшую репутациюHulio имеет наиславнейшую репутациюHulio имеет наиславнейшую репутациюHulio имеет наиславнейшую репутациюHulio имеет наиславнейшую репутациюHulio имеет наиславнейшую репутациюHulio имеет наиславнейшую репутациюHulio имеет наиславнейшую репутациюHulio имеет наиславнейшую репутациюHulio имеет наиславнейшую репутацию
По умолчанию

Цитата:
Сообщение от Regis Filius Посмотреть сообщение
Существует база данных db, в которой есть таблица table со столбцами id (mediumint) и column (text). Всё работает нормально.
PHP код:
<?php
mysql_connect 
('localhost''user''pass');
mysql_select_db ('db');

$query mysql_query ("UPDATE `table` SET `column`='value' WHERE `id`='1'") or die (mysql_error());
if (
$query true) {echo 'База данных обновлена';}
else echo 
'Не удалось обновить базу данных';
?>
А ошибку какую пишет?
Спасибо Regis Filius твой код у меня нормально работает о_0 !Вечерком тщательно проверю где ошибка у меня, видимо из-за того что я присваиваю переменным значение функции mysql_connect и передаю его как идентификатор запросу, незнаю так или нет, надо тестить.

Спасибо за помощь, а мне надо внимательнее читать мануал
  Ответить с цитированием

Старый 18.10.2009, 14:57   #7
Regis Filius
SuperVisor TF2
 
Regis Filius вне форума
Регистрация: 21.06.2008
Сообщений: 623
Regis Filius имеет наиславнейшую репутациюRegis Filius имеет наиславнейшую репутациюRegis Filius имеет наиславнейшую репутациюRegis Filius имеет наиславнейшую репутациюRegis Filius имеет наиславнейшую репутациюRegis Filius имеет наиславнейшую репутациюRegis Filius имеет наиславнейшую репутациюRegis Filius имеет наиславнейшую репутациюRegis Filius имеет наиславнейшую репутациюRegis Filius имеет наиславнейшую репутациюRegis Filius имеет наиславнейшую репутацию
По умолчанию

Идентификаторы можно и не передавать, если есть только одно подключение к базе данных. А я уверен, что оно одно )))
  Ответить с цитированием
Ответ


Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.



Часовой пояс GMT +9, время: 11:32.


vBulletin skin developed by: eXtremepixels
Powered by vBulletin® Version 3.6.3
Copyright ©2000 - 2024, Якутск-Online. Перевод: zCarot