PDO sorgu işleri parametrelenmişse yolu

0 Cevap php

SORU DİKKATLE OKUYUN LÜTFEN. Bu saçma "kodum çalışmıyor!" Olağan değil soru.

Ben bu kodu çalıştırdığınızda intended error

try {
  $sth = $dbh->prepare("SELECT id FROM users WHERE name INN(?,?) ");
  $sth->execute(array("I'm","d'Artagnan"));
} catch (PDOException $e) {
    echo $e->getMessage();
}

Ben bu hata mesajı alıyorum

Sen satır 1, SQL sözdizimi ... yakın 'INN (' I \ 'm', 'd \' Artagnan ') bir hata var

Ama sorgu ve veriler ayrı ayrı sunucuya gönderilir ve asla engel olmak olduğunu yıllardır düşündüm. (Ben herkesin bir cevabı var şüphe olsa ...) Bu nedenle bazı sorularım var

  1. Kote ve kaçtı - Nerede böyle bir tanıdık dize temsilini alır? Özellikle bir hata bildirmek için yapılıyor ya da gerçek sorgu bir parçası mı?
  2. Nasıl gerçek çalışır? Bu verilerle bir yer tutucu yerine ya da değil mi?
  3. Bütün sorgu almak için bir yolu var mı, hata ayıklama amaçları için ondan biraz, değil sadece?

Update

mysqli beklendiği yok o kadar: ne diyor near 'INN(?,?)' bir hata atar

0 Cevap