Pereiti prie turinio

SQL sintaksės error'as


Rekomenduojami pranešimai

Sveiki, pamėginsiu kuo trumpiau aprašyt visą bėdą. Turiu svetainės talpinimą, t.y hostingą datahost.lt svetainėje, savo tinklapį buvau paleidęs jau prieš mėnesį, visada viskas buvo ok, be trukdžių, kol kažkodėl prieš savaitę pradėjo grybą pjauti krepšelis, nebeatsiunčia duomenų iš duomenų bazės, kodas buvo nekeistas. Persikėlus viską ant localhost, išsiexportinus .sql iš duomenų bazės ir viską susikėlus, viskas veikia, tačiau ant datahost.lt kažkodėl ne. Gaunu tokį error'ą :

 

[sun Apr 01 07:43:34.709966 2018] [proxy_fcgi:error] [pid 13163] [client 5.228.26.30:45974] AH01071: Got error 'PHP message: PHP Notice:  Undefined index: user in /home/***/domains/**/public_html/engine/ajax.php on line 200\nPHP message: PHP Fatal error:  Uncaught PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'ORDER BY prideta ASC' at line 1 in /home/***/domains/***/public_html/engine/ajax.php:200\nStack trace:\n#0 /home/***/domains/****/public_html/engine/ajax.php(200): PDO->query('SELECT * FROM c...')\n#1 {main}\n  thrown in /home/*/domains/***/public_html/engine/ajax.php on line 200\n', referer: http://**/
[sun Apr 01 07:43:34.718612 2018] [proxy_fcgi:error] [pid 11241] [client 5.228.26.30:55303] AH01071: Got error 'PHP message: PHP Notice:  Undefined index: user in /home/***/domains/***/public_html/engine/ajax.php on line 206\nPHP message: PHP Fatal error:  Uncaught PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'ORDER BY prideta ASC' at line 1 in /home/***/domains/***/public_html/engine/ajax.php:206\nStack trace:\n#0 /home/****/domains/***/public_html/engine/ajax.php(206): PDO->query('SELECT * FROM c...')\n#1 {main}\n  thrown in /home/***/domains/***/public_html/engine/ajax.php on line 206\n', referer: http://***/

 

Ir tos eilutės :

 

200 eilutė	$query = $db->query('SELECT * FROM cart WHERE `userid` = '.$_COOKIE['user'].' ORDER BY prideta ASC');
$result = $query->fetchAll(PDO::FETCH_ASSOC);
$prekiu = $query->rowCount();
echo $prekiu;

206 eilutė $query = $db->query('SELECT * FROM cart WHERE `userid` = '.$_COOKIE['user'].' ORDER BY prideta ASC');
$result = $query->fetchAll(PDO::FETCH_ASSOC);
$suma = 0;

 

Gal kas naudojote datahost.lt hostingą ir su panašiom problemom susidūrėt ? Keisčiausia, kad viskas ant localhost veikia.

Redagavo Niedas
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Taip greitai pažiūrėjus, ASC Gale yra nereikalingas, nes default ordinimas yra ASC. Be to, visas stringas turėtų būti dvigubose kabutėse

'SELECT * FROM cart WHERE `userid` = '.$_COOKIE['user'].' ORDER BY prideta ASC'

"SELECT * FROM cart WHERE `userid` = '".$_COOKIE['user']."' ORDER BY prideta"

Redagavo MW3
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Štai, pataisiau. Ir niekada nenaudok žvaigždutės (*), tai bloga praktika, kuri sumažina našumą, kadangi turi nuskenuoti eilučių pavadinimus, jos ištraukti ir pateikti. Taip pat niekada nepasitikėk sausainėlių informacija, nes vartotojai gali ją keisti.

$query = $db->query("SELECT `id` FROM `cart` WHERE `userid` = '".preg_replace('/\D/', '', $_COOKIE['user'])."' ORDER BY `prideta`;");

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

×
×
  • Pasirinkite naujai kuriamo turinio tipą...