首页 > 解决方案 > 使用 WHERE 选择多个表

问题描述

有人可以告诉我如何在查询中使用 WHERE 选择多个表吗?

 $sql = "SELECT * FROM leerlingen, leraren WHERE voornaam= '$username' AND password= '$password'"; 

因为这个查询给出了错误

标签: phpsql

解决方案


SELECT table1.*, 
       table2.* 
FROM table1 
  JOIN table2 
    ON table1.id = table2.table1_id 
WHERE table1.field LIKE "Hello" 
  AND table2.field LIKE "World;

该查询应该满足您的要求:从两个在 WHERE 部分具有不同条件的不同表中选择所有内容。正如其他人所说,尝试始终使用显式 JOIN 语法,因为它更具可读性和不言自明。

由于您编写的代码并不清楚您是否这样做,我强烈建议您使用某种输入验证和转义来防止SQL 注入


推荐阅读