我试图检索MYSQL表中不同列的名称,然后将它们保存为单独的字符串变量,并从中设置为cookies。问题是所有的配方都保存在一个数组的单个元素中。如果我可以将每个字段保存为数组中的一个单独对象,这将非常有用。此外,某些字段名可能包含空白字符(例如空格)。老实说,我不太确定如何实现这一点,但是我在下面的简化代码中尝试过:

<?php

$servername = "localhost";
$username = "root";
$password = "";
$db_name = "db_name";

$table_id = "table_name";

$conn = mysqli_connect($servername, $username, $password, $db_public_tables);

if (!$conn) {
    die("Error: " . mysqli_connect_error());
}

$sql = "SHOW COLUMNS FROM `$table_id`";

$result = mysqli_query($conn, $sql);

while($row = mysqli_fetch_array($result)){

    $field_array = implode(" ", $row[0]);

    setcookie('selected_field_array_cookie', $field_array);
}

mysqli_close($conn);
?>

我正在寻找一个输出,我可以打印一个html页面上的特定字段名。例如:
echo $field3;

谢谢你的考虑。欢迎任何形式的回答,尽管最好使用PHP/MYSQL/JS

最佳答案

我想这就是你要找的:

$servername = "localhost";
$username = "root";
$password = "";
$database = "db_name";
$table_id = "table_name";

$conn = mysqli_connect($servername, $username, $password, $database);
if(!$conn) {
    die("Error: " . mysqli_connect_error());
}

$sql = "SHOW COLUMNS FROM `$table_id`";
$result = mysqli_query($conn, $sql);
$field_array = array();
$index = 1;
$omitted_fields = array('id', 'reg_date');

while($row = mysqli_fetch_array($result)){
    if(!in_array($row[0], $omitted_fields)) {
        $field_array['field' . $index] = $row[0];
        setcookie('field' . $index, $row[0]);
        extract($field_array);
        $index += 1;
    }
}

echo $field1 . "<br>";
echo $field2 . "<br>";
echo $field3 . "<br>";
echo $_COOKIE['field1'] . "<br>";
echo $_COOKIE['field2'] . "<br>";
echo $_COOKIE['field3'] . "<br>";

mysqli_close($conn);

希望能成功。

07-24 09:37
查看更多