我试图检索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);
希望能成功。