[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Неправильно выполняю запрос в базу данных
erosa
Появилась проблема с инет магазином. Но на сервере есть крон.
Решил написать скрипт чтобы количество товара обнулялось.
То есть товар который старше на 21 день от текшей даты обнулялся.
Но так как не знаю пхп написал как смог.
Для выполнения UPDATE в базе данных использовал int но не знаю зачем эта функция нужна. но главное работает ведь.
Но вылазит ошибка.


index.php

<?php

include '21.php';
include '22.php';
include '23.php';
include '24.php';
include '25.php';


print "</br>(21.php) Date update: $d3/$m3/$y2</br>";
print "</br>(22.php) Date update: $d32/$m22/$y22</br>";
print "</br>(23.php) Date update: $d33/$m23/$y23</br>";
print "</br>(24.php) Date update: $d34/$m24/$y24</br>";
print "</br>(25.php) Date update: $d35/$m25/$y25</br>";

include 'config.php'; //фаил настроик базы данных

$db=@mysql_connect ($dblocation,$dbuser,$dbpassword);
// Символ @ нужен для того, чтобы не выводилась ошибка при неудачном
//подключении

if (!$db) // Если соединение не установлено
{echo "<p>В данный момент соединиться с базой данных не возможно. Напишите об этом администратору.</p>";
exit();
}

mysql_select_db ($bdbase,$db); //Выбираем базу данных для дальнейшей
//работы.


$query21 = "UPDATE product SET quantity = '21' WHERE model = '$d3/$m3/$y2'";
$query22 = "UPDATE product SET quantity = '22' WHERE model = '$d32/$m32/$y22'";
$query23 = "UPDATE product SET quantity = '23' WHERE model = '$d33/$m33/$y23'";
$query24 = "UPDATE product SET quantity = '24' WHERE model = '$d34/$m34/$y24'";
$query25 = "UPDATE product SET quantity = '25' WHERE model = '$d35/$m35/$y25'";

$result21 = mysql_query($query21);
$result22 = mysql_query($query22);
$result23 = mysql_query($query23);
$result24 = mysql_query($query24);
$result25 = mysql_query($query25);


int ($result21);
int ($result22);
int ($result23);
int ($result24);
int ($result25);

mysql_close();

?>


Решение по весокосному году и по месяцам где 30 и 31 день решил так.
создал 5 файлов одинаковых. В каждом указана разное значение за какой срок обнулять.

и вылазит ошибка

Fatal error: Call to undefined function int() in Z:\home\test.art\www\index.php on line 42

Чем заменить или как правильно сделать???????


config.php

<?php

/**
* Configuration file
* Конфигурационный файл
*
@author
* @copyright © 2011 Изменение количества товара в базе для интернет-магазина
*/
/////////////////////////////////////////////////////////


$dblocation = "localhost"; // Имя сервера
$dbuser = "333"; // Имя пользователя
$bdbase = "333"; // Имя базы данных
$dbpassword = "333"; // Пароль

?>



21.php

<?php
print "Tekyshaya data: <font color=blue>".date('n d. Y')."</font>";

$d1 = date('j');
//$d1 = 24; //Для проверки
$m1 = date('n');
//$m1 = 10; //Для проверки
$y1 = date('y');
$dd1 = 21;

$d2 = $d1 - $dd1;

print "</br>(21.php)geHb u3MEHEHu9 : <font color=red>$d2</font></br>";

if ($d2>0)
{
$d3 = $d2;
$m2 = $m1;
$y2 = $y1;

}
elseif ($d2==0)
{
$d3 = $d2 +31;
$m2 = $m1 -1;
}
else
{
$d3 = $d2 +31;
$m2 = $m1 -1;

}
if ($m2 >0)
{
$m3 = $m2;
$y2 = $y1;
}
elseif ($m2==0)
{
$m3 = $m2 +12;
$y2 = $y1 -1;
}
else
{
$m3 = $m2 +12;
$y2 = $y1 -1;
}

?>




Спустя 52 минуты, 25 секунд (6.12.2011 - 08:31) Michael написал(а):
Цитата (erosa)
Для выполнения UPDATE в базе данных использовал int но не знаю зачем эта функция нужна. но главное работает ведь

угу, отлично справляется со своей работой laugh.gif :
Цитата (erosa)
и вылазит ошибка

Fatal error: Call to undefined function int() in Z:\home\test.art\www\index.php on line 42

Спустя 5 минут, 28 секунд (6.12.2011 - 08:37) Ramzil_Nixon написал(а):
Цитата (Michael @ 6.12.2011 - 05:31)
Для выполнения UPDATE в базе данных использовал int но не знаю зачем эта функция нужна. но главное работает ведь.

INT это проверка. То есть переменная должна содержать только цифры. И еще зачем ты лишний раз дергаешь БД? Можно же все на одном запросе выполнять

Спустя 20 минут, 40 секунд (6.12.2011 - 08:58) erosa написал(а):
Вот именно я спрашиваю как.
И на край чем заменить инт???
Разве так можно написать ???
$query21 = "UPDATE product SET quantity = '21' WHERE model = '$d3/$m3/$y2'; model = '$d32/$m32/$y22'; model = '$d33/$m33/$y23'; model = '$d34/$m34/$y24'; model = '$d35/$m35/$y25';";

Спустя 9 минут, 38 секунд (6.12.2011 - 09:07) Michael написал(а):
Цитата
И на край чем заменить инт???

ты - тупишь? Если с английским вообще ноль то есть переводчик
Цитата
Разве так можно написать ???

конечно нет


Спустя 50 минут, 38 секунд (6.12.2011 - 09:58) Dezigo написал(а):
Цитата
Вот именно я спрашиваю как.
И на край чем заменить инт???
Разве так можно написать ???

(face palm) blink.gif

Спустя 8 часов, 14 минут, 1 секунда (6.12.2011 - 18:12) erosa написал(а):
Из всех ваших сообщений только одно информативное. Остальные флуд. Го к зеркалу напоминать себе какие вы отличные прогеры!!!

Ramzil_Nixon с запросом понял. Завтра на работе посмотрю еще раз мануал по базе.
Выполнить запрос с помошью квери???

Спустя 33 минуты, 5 секунд (6.12.2011 - 18:45) Placido написал(а):
Это называется приведение типа. Правильно писать так:
(int) $result21;
(
int) $result22;
(
int) $result23;
(
int) $result24;
(
int) $result25;

Правда, не знаю, для чего вам это нужно.

Спустя 44 минуты, 59 секунд (6.12.2011 - 19:30) erosa написал(а):
Все равно спасибо...
С построение запроса к базе я то может разберусь.
Но как правильнее его будет выполнить.
Еще раз полазию по мануалам и по примерам мож что то выйдет.
Быстрый ответ:

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