dougeqiang1619 2016-07-20 22:52
浏览 119
已采纳

无法在MySQL查询中使用变量[关闭]

I am trying to get a MySQL query to return a a number of rows with the following code:

<?php

$resultset1 = '0, 100';

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

?>

This gives me the following error:

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

If I replace '$reultset1', in the query, with 0, 100 everything works fine.

  • 写回答

3条回答 默认 最新

  • doufu2396 2016-07-20 22:53
    关注

    The query you were trying to execute looked like this:

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

    The parameters to LIMIT should not be in quotes.

    $sth1 = $conn->prepare ("SELECT * FROM data1 ORDER BY name LIMIT $resultset");
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
  • ¥500 火焰左右视图、视差(基于双目相机)
  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统