检查字符串是否包含2个值

时间:2016-01-02 22:15:14

标签: php mysql sql ms-access pdo

我有一点问题,我需要解决。在我的数据库中,用户有名称表,字段如下:userID:1 / Name:firstname / Lastname:lastname。我在文件中有一个字符串,我需要验证,字符串是:“lastname,firstname”我如何验证,该字符串包含两个项目?

我在尝试什么:

$fullname = $data[1];
            $showdata = $db->prepare("SELECT userID FROM users WHERE firstname LIKE '%$fullname%' AND lastname LIKE '%$fullname%'");
            $userioID = $rowas['userID'];
            $showdata->execute();
            $rowas= $showdata->fetch(PDO::FETCH_ASSOC);
            echo $userioID;

修改

数据库: enter image description here

文件 enter image description here

更具体,一个元素,即Talandis,Justinas,在数据库中就像是2个单元格。我如何验证,文件中的字符串包含名字和名字?

编辑2

$fullname = $data[1];
            $showdata = $db->prepare("SELECT userID FROM users WHERE lastname + ',' + firstname LIKE '%$fullname%'");
            $showdata->execute();
            $rowas= $showdata->fetch(PDO::FETCH_ASSOC);
            $userioID = $rowas['userID'];
            echo $userioID;

最终编辑:

$showdata = $db->prepare("SELECT userID FROM users WHERE lastname + ', ' + firstname LIKE '%$fullname%'"); - 增加了空间 - 它正在发挥作用。

2 个答案:

答案 0 :(得分:0)

假设$ fullname包含字符串,如“姓氏,名字”preg_match(“/([a-zA-Z] ),([a-zA-Z] )/”, $全名,$结果);

然后$ result应该是一个数组:
[
   “姓氏,名字”,
   “姓氏”,
   “名字”
]

很抱歉格式,但我正在通过手机接听。

顺便说一句,你可以为像jean-francois等组成的名字改进它。

答案 1 :(得分:0)

假设文件中的所有字符串与您发布的相同,您可以获得所需的变量:

$parts=explode(";",$filestring);
$names=explode(",",$parts[1]);
$lastname=$names[0];
$firstname=$names[1];

然后你用SQL:

$showdata = $db->prepare("SELECT userID FROM users WHERE firstname LIKE '%$firstname%' AND lastname LIKE '%$lastname%'")