Ошибка работы с MySQL: You have an error in your SQL syntax

149
15 декабря 2016, 15:49

Делал оплату сервиса через купюру монеты в бд money, присвоение дней timePrins к сервису и активация acivPrins. Возникла ошибка ни разу не встречал.

Вот ошибка:

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 '1'' at line 1

Вот мой индийский код (Если кто то поможет сократить и превратить в нормальный буду рад):

<?php
include ('db.php');
session_start();
if (empty($_COOKIE['id'])) {
    exit("<html><meta http-equiv='refresh' content='0; URL=http://dedaster.com/'></html>");
}
else {
    $COID = $_COOKIE['id'];
    $result = mysql_query("SELECT * FROM `ListDB` WHERE id='$COID'", $db) or die(mysql_error());
    $myrow = mysql_fetch_assoc($result);
    $presult = mysql_query("SELECT * FROM `Prins` WHERE idAkk='$COID'", $db) or die(mysql_error());
    $pmyrow = mysql_fetch_assoc($presult);
    if (!empty($_POST['serv']) or !empty($_POST['sell']) or ($_POST['serv'] = '1')) {
        $s1 = '20';
        $s2 = '100';
        $s3 = '180';
        $s4 = '550';
        $s5 = '1500';
        $s6 = '6500';
        if ($_POST['sell'] == '1') {
            $r = $myrow['money'] - $s1;
            $t = '1';
        }
        else
        if ($_POST['sell'] == '2') {
            $t = '5';
            $r = $myrow['money'] - $s2;
        }
        else
        if ($_POST['sell'] == '3') {
            $r = $myrow['money'] - $s3;
            $t = '10';
        }
        else
        if ($_POST['sell'] == '4') {
            $t = '30';
            $r = $myrow['money'] - $s4;
        }
        else
        if ($_POST['sell'] == '5') {
            $r = $myrow['money'] - $s5;
            $t = '100';
        }
        else
        if ($_POST['sell'] == '6') {
            $r = $myrow['money'] - $s6;
            $t = '365';
        }
        if ($r < 0) {
            exit("<html><meta http-equiv='refresh' content='4; URL=http://dedaster.com/'><body>Error</body></html>");
        }
        else {
            $r = $r + $myrow['money'];
            $t = $t + $myrowp['timePrins'];
            $re = '1';
            $result4 = mysql_query("UPDATE `ListDB` SET money='$r'' WHERE id='$COID' ", $db) or die(mysql_error());
            $result3 = mysql_query("UPDATE `Prins` SET timePrins='$t', acivPrins='$re' WHERE idAkk='$COID' ", $db) or die(mysql_error());
            exit("<html><meta http-equiv='refresh' content='0; URL=http://dedaster.com/'></html>");
        }
    }
    exit("<html><meta http-equiv='refresh' content='0; URL=http://dedaster.com/'></html>");
}
?>

Вопрос: Как убрать ошибку?

Answer 1

"Возникла ошибка ни разу не встречал =)". Гениально! Работать с SQL, и ни разу в жизни не ошибиться в синтаксисе запроса?

UPDATE `ListDB` SET money='$r'' WHERE id='$COID'

Уберите лишнюю '.

READ ALSO
Отрицание в INNER JOIN

Отрицание в INNER JOIN

Нужно чтобы из tasks не показывались те материалы, id которых записан в tasks_done

167
Проблемы с if-else

Проблемы с if-else

Берется id, происходит парсинг, данные записываются, читаются, но если я опять ввожу тот же id, то опять происходит парсинг, а не вывод информации...

149
Проблема с PDO

Проблема с PDO

Здравствуйте, написал маленькую обёртку PDO

236