2016-07-20 2 views
-2

Я пытаюсь получить запрос MySQL, чтобы вернуть аа число строк с помощью следующего кода:Невозможно использовать переменную в запросе MySQL

<?php 

$resultset1 = '0, 100'; 

$sth1 = $conn->prepare ("SELECT * FROM data1 ORDER BY name LIMIT '$resultset'"); 
$sth1->execute(); 

?> 

Это дает мне следующую ошибку:

Fatal error: Uncaught exception 'PDOException' with message '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 ''0, 100'' at line 1' in /home/search/Search/statement1.php:8 Stack trace: #0 /home/search/Search/statement1.php(8): PDOStatement->execute() #1 /home/search/Search/result.php(20): include('/home/search/Se...') #2 /home/search/public_html/session.php(93): include('/home/search/Se...') #3 {main} thrown in /home/search/Search/statement1.php on line 8

Если я заменю '$reultset1', в запросе с 0, 100 все будет хорошо.

+1

Кто-нибудь поможет мне понять: почему этот вопрос будет отклонен? – BeetleJuice

ответ

5

Запрос вы пытались выполнить выглядел следующим образом:

SELECT * FROM data1 ORDER BY name LIMIT '0, 100' 

Параметры LIMIT не должны быть в кавычках.

$sth1 = $conn->prepare ("SELECT * FROM data1 ORDER BY name LIMIT $resultset"); 
0

Удалите цитаты из переменной. Или вы можете сконфигурировать строку.

$sth1 = $conn->prepare ("SELECT * FROM data1 ORDER BY name LIMIT " . $resultset); 
Смежные вопросы