Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/251.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 - Fatal编程技术网

Php 如何按列/字段值选择MySQL表中的行?

Php 如何按列/字段值选择MySQL表中的行?,php,mysql,Php,Mysql,我有一个名为messages的表,它有一个名为(email)的字段,键入text。 例如,此字段值为(email@domain.com , example@any.net . notme@yahoo.com , me@yahoo.com). 以及使用登录时所需的内容(me@yahoo.com)仅显示值为的消息的步骤(me@yahoo.com). 如何使用mysql和php实现这一点 SELECT * FROM MESSAGES WHERE EMAIL = 'me@yahoo.com'; 但是电

我有一个名为messages的表,它有一个名为(email)的字段,键入text。 例如,此字段值为(email@domain.com , example@any.net . notme@yahoo.com , me@yahoo.com). 以及使用登录时所需的内容(me@yahoo.com)仅显示值为的消息的步骤(me@yahoo.com). 如何使用mysql和php实现这一点

SELECT * FROM MESSAGES WHERE EMAIL = 'me@yahoo.com';
但是电子邮件可能应该被编入索引,以避免必须扫描整个表才能找到匹配的行。键入
TEXT
可能是不必要的。电子邮件的长度不可能超过100个字符,因此可以将类型设置为
VARCHAR(100)
或类似

或者,假设每个用户都有一个id,那么最好通过user_id(也应该为其编制索引)将其删除:


其中USER_ID是您的用户表或等效表中的ID。

谢谢Richard,但我的想法是避免构建另一个表来保存用户ID和依赖于一对多关系的消息,因此我认为这是有办法的。
SELECT * FROM MESSAGES WHERE USER_ID = ?;