一个查询而不是两个?

ilh*_*han 2 php mysql

在这里,我用PHP进行了两次查询.有更简单的事情吗?一个查询而不是两个?

$id = mysql_real_escape_string($_GET["id"]);
$result = mysql_query("SELECT * FROM questionstable WHERE id=$id");
$row = mysql_fetch_assoc($result);
$category = $row['category'];
$main = mysql_query("SELECT name FROM categorytable WHERE id=$category");
Run Code Online (Sandbox Code Playgroud)

Bra*_*tie 6

SELECT       questionstable.*, categorytable.name
FROM         questionstable
  INNER JOIN categorytable
  ON         categorytable.id = questionstable.category
WHERE        questionstable.id=$id
Run Code Online (Sandbox Code Playgroud)

顺便说一句,假设你questionstable.id是数字,你可以使用$id = (int)$_GET["id"]并保存一些写作.(它也可能是一个更安全的赌注.仅仅因为它被转义并不意味着它是完全安全的 - 特别是当它不在引号内时[给你很多SQL注入的选项].;-))