我在 table1 中有 3 列:book、key 和 value。
| book | key | value |
------------------------------
| 1 | author | a |
| 1 | editor | b |
| 1 | book | c |
而不是运行三个查询
$data = mysql_query("
SELECT * FROM table1 WHERE book = '1' AND key = 'author'
") or die(mysql_error());
while($info = mysql_fetch_array( $data ))
{
$value1 = $info['value'];
}
然后对编辑器和书籍重复此操作。
$value1 $value2 $value3 插入到页面的不同位置
我可以通过一个查询来完成此操作吗?
最佳答案
是的。如果没有其他条目包含“book = 1”,您只需查询
SELECT * FROM table1 WHERE book = '1'
如果有更多条目,您可以使用此查询:
SELECT * FROM table1 WHERE book = '1' AND key IN('author','editor','book')
然后创建一个assoc数组:
while($info = mysqli_fetch_assoc( $data ))
{
$value[$info['key']] = $info['value'];
}
...
echo "the book {$value['book']} was written by {$value['author']}";
关于php - Mysql 减少查询次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4834262/