转换为PDO regexp绑定错误
我正在尝试从mysql转换为使用PDO。我被这个错误难住了。在大多数情况下,除了绑定变量外,我都能正常工作转换为PDO regexp绑定错误,regex,pdo,bind,Regex,Pdo,Bind,我正在尝试从mysql转换为使用PDO。我被这个错误难住了。在大多数情况下,除了绑定变量外,我都能正常工作 Fatal error: Call to a member function bindParam() on a non-object in 以下是我尝试过的: global $keyword; $_link = new PDO("mysql:host=$host;dbname=$db_name", "$username", "$password"); $_query = sprint
Fatal error: Call to a member function bindParam() on a non-object in
以下是我尝试过的:
global $keyword;
$_link = new PDO("mysql:host=$host;dbname=$db_name", "$username", "$password");
$_query = sprintf("SELECT SQL_CALC_FOUND_ROWS * FROM PLD_ANINJA WHERE `Text` REGEXP CONCAT('[[:<:]]',:keyword,'[[:>:]]') LIMIT %d,%d",
SmartyPaginate::getCurrentIndex(), SmartyPaginate::getLimit());
$_query->bindParam(':keyword',$keyword, PDO::PARAM_STR);
$_query->execute();
global$关键字;
$_link=new PDO(“mysql:host=$host;dbname=$db_name”,“$username”,“$password”);
$\u query=sprintf(“从PLD\u ANINJA中选择SQL\u CALC\u FOUND\u ROWS*,其中`Text`REGEXP CONCAT('[[:]])限制%d,%d”,
SmartyPaginate::getCurrentIndex(),SmartyPaginate::getLimit());
$\u query->bindParam(':keyword',$keyword,PDO::PARAM\u STR);
$\u查询->执行();
以下是最初的工作原理:
global $keyword;
$_query = sprintf("SELECT SQL_CALC_FOUND_ROWS * FROM PLD_ANINJA WHERE `Text` REGEXP '[[:<:]]" . $keyword . "[[:>:]]' LIMIT %d,%d",
SmartyPaginate::getCurrentIndex(), SmartyPaginate::getLimit());
global$关键字;
$\u query=sprintf(“从PLD\u ANINJA中选择SQL\u CALC\u FOUND\u ROWS*,其中`Text`REGEXP'[[::]]'限制%d,%d”,
SmartyPaginate::getCurrentIndex(),SmartyPaginate::getLimit());
您试图调用字符串上的PDO方法,而不是PDO语句对象。您需要调用$\u link->prepare()
$\u query=$\u link->prepare(“从PLD\u ANINJA中选择SQL\u CALC\u FOUND\u ROWS*,其中`Text`REGEXP CONCAT('[[:]])LIMIT:start,:count”);
$\u query->bindParam(':keyword',$keyword,PDO::PARAM\u STR);
$\u query->bindValue(':start',SmartyPaginate::getCurrentIndex());
$\u query->bindValue(':count',SmartyPaginate::getLimit());
$\u查询->执行();
$_query = $_link->prepare("SELECT SQL_CALC_FOUND_ROWS * FROM PLD_ANINJA WHERE `Text` REGEXP CONCAT('[[:<:]]',:keyword,'[[:>:]]') LIMIT :start,:count");
$_query->bindParam(':keyword', $keyword, PDO::PARAM_STR);
$_query->bindValue(':start', SmartyPaginate::getCurrentIndex());
$_query->bindValue(':count', SmartyPaginate::getLimit());
$_query->execute();