小编KRM*_*KRM的帖子

如何在准备查询时删除任何字符串的引号

$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......但是如何?

php mysql quotes pdo

4
推荐指数
1
解决办法
2856
查看次数

有工作会议的PDO声明?

$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行的[无活动文件]

php mysql pdo

0
推荐指数
1
解决办法
1956
查看次数

标签 统计

mysql ×2

pdo ×2

php ×2

quotes ×1