Używam następującego sql, aby uzyskać wartość wartości pola que_id
określonego wiersza mojej tabeli i działa poprawnie. Zauważ, że que_id (auto-inkrementacja) i numery linii nie są takie same.PHP PDO -> Przygotowany błąd zwracania zapytania (to samo zapytanie nie zostało poprawnie przygotowane)
$qry_que_getid = $connexion->query('SELECT somefield FROM table ORDER BY somefield ASC LIMIT '.$lineNumberSeeked.', 1');
$row = $qry_que_getid->fetch(PDO::FETCH_ASSOC);
echo $row['que_id'];
Kiedy próbuję przekształcić tę kwerendę w przygotowanym zapytaniu następująco mam błąd i nie rozumiem go:
$qry_que_getid = $connexion->prepare('SELECT somefield FROM table ORDER BY somefield ASC LIMIT ?, 1');
$qry_que_getid->execute(array(4));
$row = $qry_que_getid->fetch(PDO::FETCH_ASSOC);
echo $row['que_id'];
I pojawia się następujący błąd SQLSTATE[42000]: Syntax error or access violation: 1064 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 ''3', 1' at line 1
Nadzieja somene może mi pomóc zrozumieć. Z góry dziękuję. Twoje zdrowie. Marc.
Nie wykonujesz tego samego zapytania. Pierwszy kończy się na 'LIMIT 3, 1', a drugi kończy się na' LIMIT '3', 1' - więc proszę nie pisać, to jest to samo * zapytanie, gdy tak nie jest. – hakre
Witaj hakre. O czym mówisz? – Marc
Czy widzisz pojedyncze cudzysłowy wokół "3" w drugim zapytaniu? A Pradator ma dla ciebie rozwiązanie. – hakre