PHP MySQL选择所有匹配的行并回显另一个表行

时间:2018-11-23 05:16:00

标签: php mysql mysqli

我有2个表格消息和答案。消息ID =答案ID。我想选择使用消息。当消息=嗨,然后期望的答案你好,嘿。

Message Table:
|  id  |  message |
|   1  |    hi    |
|   2  |    hi    |
|   3  |    Hi    |

和答案表:

| id | answer |
| 1  | hello  |
| 2  | hey    |
| 3  | Hello  |

我已经尝试过:     $ inp =“ hi”;

SELECT * FROM message JOIN answer ON message.message = answer.answer WHERE message='$inp'"

有什么建议吗?

2 个答案:

答案 0 :(得分:3)

尝试此代码:

"SELECT * FROM message JOIN answer ON message.id= answer.id WHERE message.message='".$inp."'";

答案 1 :(得分:1)

在您的案例ID中为每个表使用通用的黑白,因此查询应为..

SELECT * FROM message JOIN answer ON answer.id = message.id WHERE message = 'hi';

在php中,您应该使用不同的方式来运行查询(如准备好的语句),以避免sql注入或连接变量

喜欢

'SELECT * FROM message JOIN answer ON answer.id = message.id WHERE message = "'.$input.'"';

mysqli_prepare() bind_params()

或学习使用 PDO ,这是避免SQL注入的好方法,并且支持多个数据库驱动程序,使您的工作更加动态和灵活。