gpt4 book ai didi

php - 有没有办法在事先不知道值的情况下使用 php 更新 mysql 表?

转载 作者:行者123 更新时间:2023-11-29 16:31:19 24 4
gpt4 key购买 nike

我使用以下代码来获取我的 mysql 表行和列标题,而无需事先了解它们并格式化表。我正在创建一项服务,允许用户生成表并将它们保存到 mysql 数据库中,因此我需要能够以这种方式检索数据。

我正在尝试更新和编辑该表并使其生效。通常,这是通过在了解所有列值的情况下单独更新每个值来完成的。

这是我获取值的代码

<?php
try {
$con= new PDO('mysql:host=localhost;dbname=xxx', "", "");
$con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$query = "SELECT * FROM ``
//first pass just gets the column names
print "<table>";
$result = $con->query($query);
//return only the first row (we only need field names)
$row = $result->fetch(PDO::FETCH_ASSOC);
print " <tr>";
foreach ($row as $field => $value){
print " <th>$field</th>";
} // end foreach
print " </tr>";
//second query gets the data
$data = $con->query($query);
$data->setFetchMode(PDO::FETCH_ASSOC);
foreach($data as $row){
print " <tr>";
foreach ($row as $name=>$value){
print " <td>$value</td>";
} // end field loop
print " </tr>";
} // end record loop
print "</table>";
} catch(PDOException $e) {
echo 'ERROR: ' . $e->getMessage();
} // end try
?>

我正在尝试使用以下内容来更新值:

foreach($_POST as $name=>$value)
{
if($value != '')
{
echo "$name: $value\n";
}
}

但是,行值根本没有更新。有什么方法可以扫描表格并在每次编辑值时更新值?

最佳答案

您不需要执行两次查询。您可以使用 columnCount()getColumnMeta() 方法获取所有列名称。

$result = $con->query($query);
$colCount = $result->columnCount();
echo "<tr>";
for ($i = 0; $i < colCount; $i++) {
$name = $result->getColumnMeta()["name"];
echo "<th>$name</th>";
}
echo "</tr>";

关于php - 有没有办法在事先不知道值的情况下使用 php 更新 mysql 表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53857915/

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