Autorius Tema: pdo mysql  (Skaityta 243 kartus)

Neprisijungęs NikeLM2

  • Naujokas
  • *
  • Įrašai: 24
  • Karma: +0/-0
    • Žiūrėti profilį
pdo mysql
« Įrašytas: 2014-07-10 16:21:20 pm »
Sveiki kai atlieku šia funkciją:

// BETA KEYS //
function getBetaKey( $key ) {

global $pdo;

$get = $pdo -> prepare( "SELECT * FROM ".DB_PREFIX."betakeys WHERE key = :key" );
$get -> execute( array( ':key' => $key ) );
$get -> setFetchMode( PDO::FETCH_ASSOC );

return $get -> fetch( );

}

Aš gaunu errorą:

Citata
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 ''base_betakeys' WHERE 'key' = '<code>'

Bet kaip pakeičiu sql užklausą į:

// BETA KEYS //
function getBetaKey( $key ) {

global $pdo;

$get = $pdo -> prepare( "SELECT * FROM `".DB_PREFIX."betakeys` WHERE `key` = :key" );
$get -> execute( array( ':key' => $key ) );
$get -> setFetchMode( PDO::FETCH_ASSOC );

return $get -> fetch( );

}

Viskas veikia, pakeista tik:

Citata
".DB_PREFIX."betakeys => `".DB_PREFIX."betakeys`
Citata
key = :key  => `key` = :key

Gal būtu galima kažkaip išvengt ` rašymo ?

Neprisijungęs NikeLM2

  • Naujokas
  • *
  • Įrašai: 24
  • Karma: +0/-0
    • Žiūrėti profilį
Ats: pdo mysql
« Atsakymas #1 Įrašytas: 2014-07-10 16:49:17 pm »
Klaida buvo jog 'key' yra rezervuotas mysql tesiog reikėjo pakeist pavadinimą, arba naudot tą simbolį

Neprisijungęs Lukas Liesis

  • Administratorius
  • Herojus
  • ******
  • Įrašai: 7439
  • Karma: +231/-15
    • Žiūrėti profilį
    • mano CV
Ats: pdo mysql
« Atsakymas #2 Įrašytas: 2014-07-10 17:05:39 pm »
nemaciau, kad atsakei jau pats, bet idesiu dar linka: http://www.postgresql.org/docs/8.1/static/sql-keywords-appendix.html

taip, key kai kuriose sql versijose yra reserved keyword :)
Jūsų draugas, kolega ir puslapio administratorius,

Lukas.

Manualai.lt Facebooke
serveriai.lt 50% nuolaida!
Free Hosting
Free Templates

Neprisijungęs NikeLM2

  • Naujokas
  • *
  • Įrašai: 24
  • Karma: +0/-0
    • Žiūrėti profilį
Ats: pdo mysql
« Atsakymas #3 Įrašytas: 2014-07-10 17:36:30 pm »
O galima pvz SELECT * FROM t.t , bet kazkurio row kad nebutu tarkim grazina taip user, password bet pvz kad negrazintu password

Manualai.lt Forumas

Ats: pdo mysql
« Atsakymas #3 Įrašytas: 2014-07-10 17:36:30 pm »

Neprisijungęs Kalnų karalius

  • Naujokas
  • *
  • Įrašai: 104
  • Karma: +0/-0
    • Žiūrėti profilį
Ats: pdo mysql
« Atsakymas #4 Įrašytas: 2014-07-10 19:17:59 pm »
SELECT username
4c61626173212

Neprisijungęs Lukas Liesis

  • Administratorius
  • Herojus
  • ******
  • Įrašai: 7439
  • Karma: +231/-15
    • Žiūrėti profilį
    • mano CV
Ats: pdo mysql
« Atsakymas #5 Įrašytas: 2014-07-10 22:24:00 pm »
O galima pvz SELECT * FROM t.t , bet kazkurio row kad nebutu tarkim grazina taip user, password bet pvz kad negrazintu password

vietoj * per kableli sudek lauku pavadinimus

select laukas, laukas2 from t.t.
Jūsų draugas, kolega ir puslapio administratorius,

Lukas.

Manualai.lt Facebooke
serveriai.lt 50% nuolaida!
Free Hosting
Free Templates

Manualai.lt Forumas

Ats: pdo mysql
« Atsakymas #5 Įrašytas: 2014-07-10 22:24:00 pm »