$desc = 'DESC';
$getRecords = $conn->prepare('SELECT * FROM `courses` ORDER BY `id` :sort LIMIT :limitInc, :limit ');
$getRecords->bindValue(':limit',$limit,PDO::PARAM_INT); // working
$getRecords->bindValue(':limitInc',$limitInc,PDO::PARAM_INT); // working
// *** The line below isn't working ***
$getRecords->bindValue(':sort', $desc ,PDO::PARAM_STR); // not working
$getRecords->execute();
Run Code Online (Sandbox Code Playgroud)
我想$desc在我的准备查询中调用..
致命错误:带有消息'SQLSTATE [42000]的未捕获异常'PDOException':语法错误或访问冲突:1064 SQL语法中有错误; 检查与您的MySQL服务器版本相对应的手册,以便在C:\ xampp\htdocs\portfolio \nasiraan\try\indexx.php的第1行''DESC'LIMIT 0,5'附近使用正确的语法:89 Stack trace:#0 C:\ xampp\htdocs\portfolio \nasiraan\try\indexx.php(89):PDOStatement-> execute()#1 {main}抛出C:\ xampp\htdocs\portfolio \nasiraan\try \第89行的indexx.php
我相信解决方案是..从字符串中删除引号$desc......但是如何?
$s = &$_SESSION;
Run Code Online (Sandbox Code Playgroud)
我在prepare语句中使用session变量时遇到了下面提到的错误.
// $ s是一个会话变量
我的查询是:
$s['sQuery'] = 'SELECT * FROM `courses` WHERE (CONVERT(`title` USING utf8) = :search
OR CONVERT(`description` USING utf8) = :search OR CONVERT(`duration` USING utf8) = :search
OR CONVERT(`fees` USING utf8) = :search OR CONVERT(`pre_requisites` USING utf8) = :search)
LIMIT '.$s['limitInc'].', '.$s['limit'];
$s['rQuery'] = $conn->prepare($s['sQuery']);
$s['rQuery']->bindValue(':search',$s['sAll'],PDO::PARAM_STR);
// $s['All'] has post value by user
$s['rQuery']->execute();
Run Code Online (Sandbox Code Playgroud)
我收到此错误消息.
致命错误:在[无活动文件]中显示消息'您无法序列化或反序列化PDOStatement实例'的未捕获异常'PDOException':0堆栈跟踪:#0 [内部函数]:PDOStatement - > __ sleep()#1 {main}抛出第0行的[无活动文件]