Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 通过同一表中的两列从数据库中选择一列_Php_Sql - Fatal编程技术网

Php 通过同一表中的两列从数据库中选择一列

Php 通过同一表中的两列从数据库中选择一列,php,sql,Php,Sql,我在PHP中有一个变量,例如$to=johndoe 我有一张桌子: ID name surname username 1 John Doe jdoe 2 David Smith dsmith 我需要用SQL选择username by$to变量 怎么做?我尝试搜索了一些东西,但没有成功。首先从空间中分解字符串 $explode=explode(' ',$to); if(count($explode)==2){

我在PHP中有一个变量,例如$to=johndoe

我有一张桌子:

ID     name     surname     username
1      John     Doe         jdoe
2      David    Smith       dsmith
我需要用SQL选择username by$to变量


怎么做?我尝试搜索了一些东西,但没有成功。

首先从空间中分解字符串

$explode=explode(' ',$to);
if(count($explode)==2){
    $qry="select username from users where name='$explode[0]' and surname='$explode[1]'";
}else{
    $qry="select username from users where name='$explode[0] $explode[1]' and surname ='$explode[2]'";
}
希望这能起作用

您可以将这两个字段合并在一起

$qry = "select username from users where concat(name,' ', surname) = '$to' " ;

到目前为止你试过什么?请在帖子中包含代码,而不是评论。不确定您的具体情况。。但这感觉就像是充满了矛盾。除非您正在执行搜索,否则您确实应该检索具有唯一密钥ID或用户名的单个记录。我需要通过stringJohn Doe从用户中选择用户名,但我有一个带有John Doe的字符串。我没有约翰和多伊的两条线索。请你的问题包括任何相关信息。在史密斯家族的莎拉·简出现之前,这本书不属于评论。你想要的结果是什么?我需要从用户中选择用户名,由stringJohn Doe编写,但我有一个与John Doe有关的字符串。我没有两个儿子约翰和多伊。如果我有约翰·保罗·菲利普·多伊的名字=约翰·保罗,姓氏=菲利普·多伊,这个解决方案就不好了。