[英]SELECT * FROM Table WHERE Column LIKE %?%
根据这里的信息MySQL查询字符串包含尝试创建pdo查询?
实验如下
SELECT * FROM Table WHERE Column LIKE %?%
SELECT * FROM Table WHERE Column LIKE ?%
SELECT * FROM Table WHERE Column LIKE %?
什么都行不通。 得到错误
语法错误或访问冲突:1064 SQL语法中有错误; 查看与您的MySQL服务器版本对应的手册,以便在'%...附近使用正确的语法
尝试SELECT * FROM Table WHERE Column LIKE ?
但这不适用于contains
目标是获取查询SELECT * FROM Table WHERE Column contains ?
什么是正确的pdo contains
位置占位符的声明( ?
)?
通过PHP连接字符串中的值来尝试这个,
$value = "valueHere";
$passThis = "%" . $value . "%";
// other pdo codes...
$stmt = $dbh->prepare("SELECT * FROM Table WHERE Column LIKE ?");
$stmt->bindParam(1, $passThis);
// other pdo codes...
之后添加引号。 例如: - like '%?%'
即:
SELECT * FROM table_name WHERE column_name like '%field_name%';
我认为通配符应该在单引号内,比如;
SELECT * FROM Table WHERE Column LIKE '%?%';
这将返回包含特定列字段中任何位置给出的字符串的任何记录
以'ber'开头的列数据,例如
SELECT * FROM Table WHERE Column LIKE 'ber%';
希望这可以帮助
在将参数传递给查询之前,将%
字符放在参数之前和之后
SELECT * FROM Table WHERE Column LIKE '%' + ? + '%'
SELECT * FROM Table WHERE Column LIKE ? + '%'
SELECT * FROM Table WHERE Column LIKE '%' + ?
虽然如果这会失败? 为null,因为连接将产生null。 你可以使用coalesce
SELECT * FROM Table WHERE Column LIKE '%' + Coalesce(?,'') + '%'
SELECT * FROM Table WHERE Column LIKE Coalesce(?,'') + '%'
SELECT * FROM Table WHERE Column LIKE '%' + Coalesce(?,'')
如果您想使用预准备语句,请查看http://php.net/manual/de/pdo.prepared-statements.php 。
SELECT * FROM REGISTRY where name LIKE '%?%'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.