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, '%')