gpt4 book ai didi

php - 在对数据库查询较少的 mysql 表中搜索值?

转载 作者:太空宇宙 更新时间:2023-11-03 11:18:15 27 4
gpt4 key购买 nike

我在 mysql 表中有一个用户,他的用户名是唯一的,但我必须测试并执行许多查询才能找到它。我想知道它是否是避免对数据库进行所有查询的更好方法。

我在表中有多个行,其中列有 user1user2user3user4 最多30.

for ($x=0; $x < 30; $x ++){

$user = "user";
$user .= $x; //generate user1, user2, user3 etc


$result=mysql_fetch_object(mysql_query("SELECT * FROM table WHERE ".$user."='".$_SESSION['username']."'"));
if ($result){

现在,如果表中的 $_SESSION['username']user30 我会在 $result 为真之前执行 29 次查询,并且我可以处理结果。有一个更好的方法吗?无论如何,这是多么重要。 1 次查询和 30 次查询的 cpu 需求有很大差异吗?

最佳答案

虽然您实际上应该只有一个用户列,但您可以使用循环来构建一个大查询而不是执行 30 个小查询。

<?php
$query = "SELECT * FROM table WHERE ";
foreach(range(1,30) as $num) {
$query .= " user$num = '{$_SESSION['username']}'";
if($num < 30) $query .= " OR ";
}
print $query;
$result=mysql_fetch_object(mysql_query($query));
?>

关于php - 在对数据库查询较少的 mysql 表中搜索值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3431142/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com