ФорумПрограммированиеPHP для идиотов → Синтаксическая ошибка

Синтаксическая ошибка

  • Олег

    Сообщения: 177 Репутация: N Группа: Кто попало

    Spritz 17 марта 2009 г. 21:42, спустя 16 минут 40 секунд

    Люди, давйте мириться. Это млятство начало дышать. Есть существенные изменения. Огромный вам поклон. Использовал этот код
    $q="SELECT `id`, `cost` FROM `money` WHERE id='{$_POST['id']}'";


    Отдельное спасибо aivee.

    Есть шанс разобраться дальше. Ур-ра!
  • Lirck

    Сообщения: 1658 Репутация: N Группа: Джедаи

    Spritz 17 марта 2009 г. 21:45, спустя 2 минуты 51 секунду

    'SELECT `id`, `cost` FROM `money` WHERE id=`' . intval($_POST['id']) . '`'
    юзай
  • Олег

    Сообщения: 177 Репутация: N Группа: Кто попало

    Spritz 17 марта 2009 г. 22:00, спустя 14 минут 59 секунд

    Вставил
    $q='SELECT `id`, `cost` FROM `money` WHERE id=`' . intval($_POST['id']) . '`'; 

    Выскочила ошибка
    Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in

    В этой строке следующий код
     $res=mysql_fetch_row(mysql_query($q));


    Предполагаю, что при создании таблицы в БД неправильно задал переменную

    Вначале запущу весь код с той строчкой, которая пошла, а потом возьмусь за изменения.
  • ubica

    Сообщения: 530 Репутация: N Группа: Кто попало

    Spritz 17 марта 2009 г. 22:09, спустя 9 минут 22 секунды


    Вставил
    $q='SELECT `id`, `cost` FROM `money` WHERE id=`' . intval($_POST['id']) . '`'; 

    Выскочила ошибка
    Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in

    В этой строке следующий код
     $res=mysql_fetch_row(mysql_query($q));


    Предполагаю, что при создании таблицы в БД неправильно задал переменную

    Вначале запущу весь код с той строчкой, которая пошла, а потом возьмусь за изменения.


    на самом деле, просто ошибка синтаксиса

    надо так:

    $q = "SELECT `id`, `cost` FROM `money` WHERE id='" . intval($_POST['id']) . "'"; 
  • Олег

    Сообщения: 177 Репутация: N Группа: Кто попало

    Spritz 17 марта 2009 г. 22:33, спустя 24 минуты 18 секунд

    ubica, В таком варианте сработало. Спасибо. Пошел наслаждаться. У кода еще есть продолжение, буду юзать. Чтож я балбес сразу не зашел! Четыре дня ковырял форум!
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 17 марта 2009 г. 23:58, спустя 1 час 24 минуты 12 секунд

    ебашите!
    Сапожник без сапог
  • Олег

    Сообщения: 177 Репутация: N Группа: Кто попало

    Spritz 18 марта 2009 г. 9:28, спустя 9 часов 30 минут 7 секунд

    Пыхачане, раскачка пошла лучше, но сильно смущает получившийся код. Что в середке написано, лепил сам. Может получится упростить.

    Весь код содержится в одном файле. В приведенном ранее коде происходит проверка на совпадение полученных данных с данными в таблице money. Если данные совпадают, то отправляемому серверу отсылается ответ и одновременно заносятся данные в таблицу orders.

    IF($_POST['LMI_PREREQUEST']==1) {
    // 1) Проверяем, есть ли товар с таким id в базе данных.
    // Если такой товар не обнаружен, то выводим ошибку и прерываем работу скрипта.
    $q = "SELECT `id`, `cost` FROM `money` WHERE id='" . intval($_POST['id']) . "'";
    $res=mysql_fetch_row(mysql_query($q));
    if(!$res[0] or $res[0]=="") {
    $err=1;
    echo "ERR: net takogo towara";
    exit;
    }

    // Выбираем из базы данных нужный товар, записываем его в переменную $tovar;
    $query = "SELECT * FROM money WHERE id='{$_POST['id']}'";
    $result=mysql_query($query);
    while($r=mysql_fetch_array($result)) {
    // echo "$r[thame]";
    $tovar="$r[thame]";
    }

    // Вносим покупку в таблицу orders
    $q="insert into `orders` set `id`='{$_POST['id']}', `odate`='{$_POST['LMI_SYS_TRANS_DATE']}', `purse`='{$_POST['LMI_PAYER_PURSE']}', `email`='{$_POST['email']}', `tovar`='$tovar'";
    mysql_query($q);
    }
  • Олег

    Сообщения: 177 Репутация: N Группа: Кто попало

    Spritz 18 марта 2009 г. 9:40, спустя 12 минут 15 секунд

    В конце кода высылается сообщение по email. Блин, тоже глюк!
    Как прикрепить к этому сообщению файл?

    // Отправляем товар на email покупателя
    $text="Ваш товар: ".$tovar;
    mail($_POST['email'], convert_cyr_string("Ваш товар",w,k), convert_cyr_string($text,w,k),
    "From: [email protected]\r\nContent-Type: text/plain; charset=\"koi8-r\"");
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 18 марта 2009 г. 10:18, спустя 38 минут 25 секунд

    Олег, phpmailer погугли по этому слову
    Сапожник без сапог
  • Олег

    Сообщения: 177 Репутация: N Группа: Кто попало

    Spritz 18 марта 2009 г. 10:59, спустя 40 минут 46 секунд

    phpdude, мне кажется, это перебор.
    Нашел небольшой код, позже посмотрю, может что получится ввв.php-mail.ru/?id=4
    Пока сделаю проще, буду отправлять сообщение с сылкой для скачивания файла с сайта.
  • Олег

    Сообщения: 177 Репутация: N Группа: Кто попало

    Spritz 18 марта 2009 г. 12:24, спустя 1 час 24 минуты 52 секунды

    Че за на… друг за друга все цепляется. Люди, как сделать, чтоб ссылка приходила на почту в виде ссылки, а не текста.
  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz 18 марта 2009 г. 12:39, спустя 15 минут

    Олег, передавать как html, а не plain/text
    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • Олег

    Сообщения: 177 Репутация: N Группа: Кто попало

    Spritz 18 марта 2009 г. 13:48, спустя 1 час 9 минут 4 секунды

    adw0rd, есть пример, где можно совместить передчу plain/text и html

    Сообщение у меня отправляется на почту
    $text="Ваш товар: ".$tovar;
    mail($_POST['email'], convert_cyr_string("Ваш товар",w,k), convert_cyr_string($text,w,k),
    "From: [email protected]\r\nContent-Type: text/plain; charset=\"koi8-r\"");
  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz 18 марта 2009 г. 14:05, спустя 17 минут 14 секунд

    Олег,

    Content-Type: text/plain;
    говорит о передаче письма как "текст", так что надо туда указать text/html видимо, погугли.

    adw0rd, есть пример, где можно совместить передчу plain/text и html
    да, передать html как аттач


    зы. 4949
    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • Олег

    Сообщения: 177 Репутация: N Группа: Кто попало

    Spritz 18 марта 2009 г. 14:09, спустя 3 минуты 50 секунд

    adw0rd, все решилось проще. Ссылку загнал в БД, а переменную вставил в код.

    Получилость так

    $text="Ваш товар: '$tovar' доступен по ссылке '$url'";

Пожалуйста, авторизуйтесь, чтобы написать комментарий!