php 选择整个表并按 id 从多行设置变量

标签 php mysql variables select

我对 PHP 很陌生,所以如果这个答案已经存在,我深表歉意。我有一个如下所示的表:

mcID | mcName
-------------
M1   | M1name
M2   | M2name
M3   | M3name
M4   | M4name

我知道如何编写四个单独的 sql select 语句来将它们放入变量中,但这似乎有点矫枉过正。我想知道是否有一种方法可以运行单个 select 语句来设置所有四个变量。我当前设置一个变量的代码如下:

$sql = "SELECT * FROM tblmaincircles WHERE mcID='M1'";
$result = $conn->query($sql);
if($result->num_rows > 0) {

    while($row = $result->fetch_assoc()) {

        $M1 = $row["mcName"];
    }
}
else {
echo "0 results";
}

对此的任何帮助将不胜感激。我有一种感觉,我错过了一些非常基本的东西。谢谢!

最佳答案

I am wondering if there is a way to run a single select statement to set all four variables.

是的,有办法。您可以使用单个查询并使用 variable variables 将值存储在相应的变量中。 ,像这样:

$sql = "SELECT * FROM tblmaincircles";
$result = $conn->query($sql);
if($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {
        $$row['mcID'] = $row["mcName"];  // Variable variables
    }

    // display variables
    echo $M1;

    // Like this you can display or use any variable like $M2, $M3 and $M4

}
else {
    echo "0 results";
}

关于php 选择整个表并按 id 从多行设置变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34994128/

相关文章:

php - 在 zend 分页上使用纯查询

php - 使用单个查询更新时自动增量 MySQL 列字段

mysql - 在没有ORDER BY的情况下反转MySQL表的 "natural order"?

Laravel 中的 javascript 字符串本地化

php - 无法将路由器服务传递给 symfony 2.6 中的 Twig 扩展

php - 如何在一个表中显示多行,而在另一个表中的一行显示为单行

java - com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException。 WHERE 子句

linux - bash 在变量中执行命令

for-loop - 如何使用 ! 处理路径名在 for/F 循环中?

javascript - 如何从发送电子邮件中删除特定数据