Php 如何在序列号中搜索图案?
我有一个包含以下内容的数据库:Php 如何在序列号中搜索图案?,php,mysql,function,pdo,preg-match,Php,Mysql,Function,Pdo,Preg Match,我有一个包含以下内容的数据库: pnid partnumber desc code ==== ========== ==== ==== 1 123-12345 hdd CMYK 因此,code字段包含我要查找的序列号的模式。我想做的是从数据库中获取所有代码,然后检查用户输入是否与代码匹配,并显示匹配代码的部件号 如果说我的输入是ECMYK123456,那么函数将返回123-12345 我真
pnid partnumber desc code
==== ========== ==== ====
1 123-12345 hdd CMYK
因此,code
字段包含我要查找的序列号的模式。我想做的是从数据库中获取所有代码,然后检查用户输入是否与代码匹配,并显示匹配代码的部件号
如果说我的输入是ECMYK123456
,那么函数将返回123-12345
我真的迷路了。我只有基本的PDO连接
<?php
function checkPattern($inputString) {
$dbuser = "root";
$dbpass = "123456";
$dbconn = new PDO('mysql:host=localhost;dbname=3parsfdb',$dbuser,$dbpass);
$dbconn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$dbconn->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$query = $dbconn->query("SELECT * FROM `partnumber` WHERE '%$inputString%' LIKE `ctcode` LIMIT 1");
foreach ($query as $row) {
return $row['partnumber'];
}
}
echo checkPattern("ECMYK12345");
?>
呻吟:
SELECT *
FROM partnumber
WHERE "ECMYK123456" like concat('%', code, '%')
请注意,它不能对代码使用索引。你好,阿兰,谢谢你的回答。但我正在寻找一个函数。同时,我也想到了这个想法并付诸实施。我已经编辑了我的问题。我现在的问题是它不返回任何值。
SELECT *
FROM partnumber
WHERE "ECMYK123456" like concat('%', code, '%')