Ничего удивительного. Что это такое:
$filename = $_FILES['filename']['$pic'];
Цитата:
# $_FILES['uploadfile']['name'] - имя файла до его отправки на сервер, например, pict.gif;
# $_FILES['uploadfile']['size'] - размер принятого файла в байтах;
# $_FILES['uploadfile']['type'] - MIME-тип принятого файла (если браузер смог его определить), например: image/gif, image/png, image/jpeg, text/html;
# $_FILES['uploadfile']['tmp_name'] (так мы назвали поле загрузки файла) - содержит имя файла во временном каталоге, например: /tmp/phpV3b3qY;
# $_FILES['uploadfile']['error'] - Код ошибки, которая может возникнуть при загрузке файла.
К симптомам повреждения таблицы относятся неожиданные прерывания выполнения запросов и появление следующих ошибок:
* `tbl_name.frm' is locked against change (Файл заблокирован для изменений)
* Can't find file `tbl_name.MYI' (Errcode: ###) (Не могу найти файл `tbl_name.MYI' (Ошибка: ###))
* Unexpected end of file (Неожиданно наступил конец)
* Record file is crashed (Файл записей испорчен)
* Got error ### from table handler (Получена ошибка ### от дескриптора таблицы). Для получения более подробной информации об ошибке можно выполнить perror ###. Чаще всего о проблемах с таблицей свидетельствуют следующие ошибки:
shell> perror 126 127 132 134 135 136 141 144 145
126 = Index file is crashed / Wrong file format
127 = Record-file is crashed
132 = Old database file
134 = Record was already deleted (or record file crashed)
135 = No more room in record file
136 = No more room in index file
141 = Duplicate unique key or constraint on write or update
144 = Table is crashed and last repair failed
145 = Table was marked as crashed and should be repaired
собстно ещё поправил запрос было SELECT *
указал названия столбцов и время сократилось до 0,5 секунд
Совершенно случайно сегодня наткнулся в журнале LINUX FORMAT за ноябрь 2005 г.
Цитата:
При работе с MySQL ... старайтесь избегать использования шаблона (*) в операторе select (например, select * from mytable). Это кажется очень удобным, но запрос будет выполняться намного медленнее и создавать дополнительный сетевой трафик. Вместо этого указывайте только те поля, которые вам действительно нужны, например: select email from customers where surname=’jones’.
<?php
$idp=$_GET["id"];
$q=1;
$totalprice=0;
include("mylp.php");
$link=mysql_connect($myhost,$mylogin,$mypwd) or die(mysql_error());
mysql_select_db("mydb");
$r=mysql_query("select name,header,price,imgsrc from products where id={$idp}");
?>
в этот файл попадают выбранные пользователем товары... а отсюда в файл ниже
<?php while(list($key,$value)=each($_SESSION["cart"]))
{
if($value["quantity"]<0){
$value["quantity"]=1;
}
Понимаешь, в чем проблема? Я зашел на твой сайт, и увидел, что про нажатии на ссылку "Заказать" происходит переход на строницу http://djbeat.com.ua/into_cart.php?id=30. Тут все понятно. Но что это за кусок кода?!
Цитата:
$idp=$_GET["id"];
$q=1;
$totalprice=0;
include("mylp.php");
$link=mysql_connect($myhost,$mylogin,$mypwd) or die(mysql_error());
mysql_select_db("mydb");
$r=mysql_query("select name,header,price,imgsrc from products where id={$idp}");
Зачем идет преренаправление header("Location: into_cart.php") ?!
Файл into_cart.php обращается к себе? И что означает загадочная фраза "в этот файл попадают выбранные пользователем товары... а отсюда в файл ниже" ? Так это один файл или два?
Ты произвольно "выдираешь" куски кода из разных файлов - и просишь тебе помочь. Хуже того - ты еще пытаешься эти куски кода комментировать... Я бы и рад тебе помочь - да не могу. Исходников нет - только отдельные кусочки (которые, как ты считаешь, работают неправильно).
Подводя итог. Нужен исходник (ПОЛНОСТЬЮ, а не то, что ты считаешь достаточным) скрипта, который отвечает за вывод товарных позиций, и исходник скрипта корзины - опять же полностью. Тогда можно будет сказать, что и где не так.
я не сильна в пхп.... я не совсем понимаю...
переменную idp я получаю методом гет в начале скрипта...
Тяжело с тобой. Раз у нас есть Интернет-магазин, логично предположить, что есть и какой-то каталог продукции для продажи. Ссылка "Добавить в корзину" вероятнее всего расположена на странице "Карточка товара".
Эта ссылка имеет примерно такой вид <a href="basket.php?action=addtocart&id_prd=5">Добавить в корзину</a> При нажатии на ссылку происходит переход на страницу "Корзина". При формировании этой страницы мы должны обновить и массив $_SESSION. Возможны и варианты - мы перезагружаем страницу "Карточка товара", но не забываем опять-таки обновить массив $_SESSION.
Главное, что ссылка содержит переменную id_prd=5, передаваемую методом $_GET.
Это может быть и форма на странице "Карточка товара":
но ведь запрос написа правильно. может дело в переменной idp?
Запрос
$r=mysql_query("select name,header,price,imgsrc from products where id=".$idp);
написан верно. Дело именно в переменной $idp. Я поэтому и спрашивал - всегда ли она определена, не равна ли пустой строке и т.п.
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource
Это ты считаешь, что запрос возвращает имя, заголовок, цену выбранного товара. А на самом деле этот запрос просто не выполняется. Поэтому результат запроса - переменная $r - просто не определена (или равна FALSE - точно не знаю, надо посмотреть в справочнике функций). И попытка обработать этот результат с помощью функции mysql_fetch_row( $r ) вызывает предупреждение (warning): переданный аргумент НЕ ЯВЛЯЕТСЯ корректным результатом запроса к БД MySQL
Спасабо огромное! Все получилось... только плюется Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource
на эту строку
list($name,$header,$price,$imgsrc)=mysql_fetch_row($r);
как попросить пхп не ругаться?
PS мне просто надоело искать ошибки... вроде все работает... только ругается!
Еще интересно, почему ето все на сервере не работает!!!!
корзина пустая.... подскажите, может чего-то я не знаю
Запрос к БД возвращает некорректный результат:
$r=mysql_query("select name,header,price,imgsrc from products where id={$idp}");
Надо просматривать результаты запроса - он вообще что-нибудь возвращает?
Кстати, а зачем там фигурные скобки - какую функциональную нагрузку они несут?
$r=mysql_query("select name,header,price,imgsrc from products where id=".$idp);
P.S. Переменная $idp = $_GET["id"] А $_GET["id"] всегда определена, она не равна пустой строке? Это точно число, а не строка?
Запрос
SELECT * FROM mytable WHERE DATE_FORMAT(NOW(), '%d.%m') = DATE_FORMAT(date_birth, '%d.%m');
вернет информацию о пользователях, у которых сегодня день рождения (или не вернет ничего, если сегодня ни у кого нет дня рождения). Можно вывести сообщение об этом - поздравить пользователя, "подсветить" красным этот день в календаре и т.п.
strstr -- Находит первое вхождение подстроки; в случае успеха возвращает TRUE
У нас в форме для каждой товарной позиции из покупательской корзины определено поле
<input type='text' value='3' name='count_57' />
где 3 - количество товара в корзине
57 - ID этого товара
Ведь если пользователь изменил количество товара в корзине и нажал кнопку обновить - мы пересылаем эти данные на сервер, читаем массив $_POST и обновляем массив $_SESSION. Но из массива $_POST мы отбираем только "наши" значения (содержащие подстроку "count_"), относящиеся к изменению количества товара в корзине.