php - 将 PHP MySQL 查询输出转换为变量

标签 php mysql variables post

有一个问题让我头疼。我对 PHP 和 MySQL 交互以及一般编码还相当陌生(距离我第一次深入了解它大约 3 个月),所以可以说我仍在学习诀窍。

问题是,我有一个页面通过 $_POST 从另一个页面接收数据。一切都很好。该页面接收数据(即 ID 号),并回显数据库中与该 ID 相对应的可用项目特征。

这部分代码工作得很好。

$sql = "SELECT nome, preco, `status` FROM produtos WHERE id = $_POST[id]";
            $result =  mysqli_query($conn, $sql);
            if (mysqli_num_rows($result) > 0){
                while($row = mysqli_fetch_assoc($result)){
                    echo "Nome: "."<span style='color: red;'>".$row["nome"].
                    "</span>".
                    "<br>"."Preço: "."<span style='color: red;'>".
                    "R$".$row["preco"]."</span>"."<br><br>".$row["status"]; 
                }
            }

我想要的是将回显的值转换为变量,以便我可以将它们设置为另一种形式的默认值并将其发送到另一个页面。显然,例如 $row['nome'] 无法在上面的实例之外重用。

<form method="post" action="?p=venda">
        <input type="text" name="nome" value="<?php echo $row["nome"]; ?>">
        <input type="text" name="preco" value="<?php echo $row["preco"]; ?>">

        <input type="submit" name="change" value="Efetuar">
    </form>

我知道这段代码很容易受到 SQL 注入(inject),但我现在不研究它。这将是一种离线程序,可以帮助我组织一些东西,因此,目前我不必担心安全性(并不是说我会继续忽略这些问题)。

提前致谢。

最佳答案

将 $row 分配给一个变量,并在 while 循环之外将其视为 array()。

$sql = "SELECT nome, preco, `status` FROM produtos WHERE id = $_POST[id]";
$result =  mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0){
    while($row = mysqli_fetch_assoc($result)){
        $array = $row; // assign $row a variable.

        echo "Nome: "."<span style='color: red;'>".$row["nome"].
        "</span>".
        "<br>"."Preço: "."<span style='color: red;'>".
        "R$".$row["preco"]."</span>"."<br><br>".$row["status"]; 
    }
}

// example
echo($array['nome']);

关于php - 将 PHP MySQL 查询输出转换为变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39174619/

相关文章:

php - sql表中添加空白条目并刷新页面

linux - 从另一个变量的内容中获取变量的内容,两个变量名称具有相同的尾随数字

php - FOSUserBundle 使用电子邮件登录 (Symfony2)

PHP 多个下拉框表单提交到 MySQL(第 2 部分)

php - 任何人都可以找到此 POST NSMutableURLRequest 到 PHP 脚本中的错误吗?

php - 我如何从 MySQL 数据库中渲染 PHP 代码?

php - 如何使另一个表中的两个不同的 id 相等?

php - 如何用php回显图像

javascript - 如何将参数从多个子函数传递到一个主函数

java - 试图调用本地数据库变量并且应用程序停止工作