Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.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 MySQL只选择某一行_Php_Mysql_Select_Join_Mysqli - Fatal编程技术网

Php MySQL只选择某一行

Php MySQL只选择某一行,php,mysql,select,join,mysqli,Php,Mysql,Select,Join,Mysqli,我有个奇怪的问题。由于某些原因,只选择了某一行。我有一个用户数据表: 和网站名称表 由于某些原因,使用用户id 13的此命令可以工作: 但使用用户id 27,它没有,但你可以看到我在email_id row gumblar.cn中添加了27 为什么它不能用id 27?我正在使用以下命令: SELECT `email_address`, `handset` FROM `website_name` JOIN `user_data` USING ( id ) WHERE `email_id` ='

我有个奇怪的问题。由于某些原因,只选择了某一行。我有一个用户数据表:

和网站名称表

由于某些原因,使用用户id 13的此命令可以工作:

但使用用户id 27,它没有,但你可以看到我在email_id row gumblar.cn中添加了27

为什么它不能用id 27?我正在使用以下命令:

SELECT `email_address`, `handset` FROM `website_name` JOIN `user_data` USING ( id ) WHERE `email_id` ='27'

任何帮助和解释都将不胜感激。提前谢谢。

您刚好有一个id==13的电子邮件id,您需要更改

USING ( id )

编辑:

在表格中,您可以看到以下行:

id | website   |email_id
---+-----------+--------  
13 | yahoo.com | 13
你看到id和email\u id的相同之处了吗?这只是一个巧合,这就是为什么你在id上加入的号码起作用,正好与你应该加入的电子邮件id匹配

您的SQL应该如下所示:

 SELECT `email_address`, `handset` 
 FROM `website_name` 
     JOIN `user_data` ON (website_name.email_id = user_data.id) 
 WHERE `email_id` ='27';

你有一个巧合,id==13的电子邮件id,你需要更改

USING ( id )

编辑:

在表格中,您可以看到以下行:

id | website   |email_id
---+-----------+--------  
13 | yahoo.com | 13
你看到id和email\u id的相同之处了吗?这只是一个巧合,这就是为什么你在id上加入的号码起作用,正好与你应该加入的电子邮件id匹配

您的SQL应该如下所示:

 SELECT `email_address`, `handset` 
 FROM `website_name` 
     JOIN `user_data` ON (website_name.email_id = user_data.id) 
 WHERE `email_id` ='27';

您使用id 18加入,但您的用户中没有一个拥有id 18

您需要使用on语句将其连接起来:

join user_data on user_data.id = website_name.email_id

您使用id 18加入,但您的用户中没有一个拥有id 18

您需要使用on语句将其连接起来:

join user_data on user_data.id = website_name.email_id

您的两个表都包含一个字段id—但是,很明显,它们分别标识了不同的内容—电子邮件和网站。这就是为什么您的联接不能使用id字段来生成合理的结果,因为它在13中工作只是巧合,而查询结果没有意义。你需要使用

JOIN user_data ON website_name.email_id = user_data.id

另一种方法是将id字段重命名为email\u id和website\u id。然后,您可以使用JOIN user\u data USINGemail\u id。

您的两个表都包含一个字段id,但显然,它们分别标识电子邮件和网站的不同内容。这就是为什么您的联接不能使用id字段来生成合理的结果,因为它在13中工作只是巧合,而查询结果没有意义。你需要使用

JOIN user_data ON website_name.email_id = user_data.id

另一种方法是将id字段重命名为email\u id和website\u id。然后,您可以使用JOIN user\u data USINGemail\u id。

Hi,使用您的命令将选择email\u地址和手机中的所有数据。我只需要特定的行来工作,例如,当我使用ID27时,我将得到2k10@gmail.com电子邮件地址。也请原谅我的愚蠢,你说的id==13的电子邮件id是什么意思。你的意思是说网站名称恰好有id 13?嗨,使用你的命令将选择电子邮件地址和手机中的所有数据。我只需要特定的行来工作,例如,当我使用ID27时,我将得到2k10@gmail.com电子邮件地址。也请原谅我的愚蠢,你说的id==13的电子邮件id是什么意思。你的意思是说网站名称恰好有id 13?嗨,使用你的命令将选择电子邮件地址和手机中的所有数据。我只需要特定的行来工作,例如,当我使用ID27时,我将得到2k10@gmail.com电子邮件地址。也请原谅我的愚蠢,你说的巧合是什么意思。您的意思是两个表都有id 13吗?好吧,您仍然需要像以前一样添加WHERE子句。是的,这就是我所说的“巧合”。您好,使用您的命令将选择电子邮件地址和手机中的所有数据。我只需要特定的行来工作,例如,当我使用ID27时,我将得到2k10@gmail.com电子邮件地址。也请原谅我的愚蠢,你说的巧合是什么意思。您的意思是两个表都有id 13吗?好吧,您仍然需要像以前一样添加WHERE子句。是的,这就是我所说的“巧合”。您好,使用您的命令将选择电子邮件地址和手机中的所有数据,但我无法获取特定行,例如使用id 27将获取我2k10@gmail.com电子邮件地址这是正确的!您的用户表中是否有电子邮件id字段?如果不是,您希望如何识别与电子邮件域对应的用户。你需要在你的用户表中添加一个email_id字段,一切正常。只需在user_data.email_id=website_name.email_id或usingemail_idHi上使用than join user_data,使用您的命令将选择email_地址和手机中的所有数据,但我无法获取特定行,例如,使用id 27将获取我2k10@gmail.com电子邮件地址这是正确的!您的用户表中是否有电子邮件id字段?如果不是,您希望如何识别与电子邮件域对应的用户。你需要在你的用户表中添加一个email_id字段,一切正常。只需在user\u data.email\u id=website\u name.email\u id或usingemail\u id上使用而不是加入user\u data