显示数据库中的字符串而不是php值

fslejnso  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(335)

我希望从以值形式存储的数据库中获取数据。因为当我返回值时,它会显示我不需要的值。
所以当我回显国家时,它会显示我要查找的ax,并且岛的值存储在数据库中。

<form action="reg_page.php" id="regform">
    Username:<input type="text" name="username">
      Password:<input type="text" name="password">
    Confirm Password:<input type="text" name="conpassword">
    Country:    
   <select id="city" name="city" required>
      <option value="AX">Aland Islands</option>

    <input type="submit">
  </form>

include("db.php"); // include the connection object from the DBConnection.php 
if ($_SERVER['REQUEST_METHOD'] == 'POST') { 
    $inUsername = $_POST["username"]; 
    $inPassword = $_POST["password"]; 
    $encryptPassword = password_hash($inPassword, PASSWORD_DEFAULT); 
    $inCountry = $_POST["city"]; 
    $stmt = $db->prepare("INSERT INTO users(username,password,center) VALUES(?, ?,?)"); 
    $stmt->bind_param("sss", $inUsername , $encryptPassword, $inCountry); 
    $stmt->execute(); 
    $result = $stmt->affected_rows; 
    $stmt -> close(); 
    $db -> close(); 
    if($result > 0)
ee7vknir

ee7vknir1#

这是我的建议。
在理想情况下,您将拥有一个额外的数据库表,其中包含城市键和相应的城市名称。

// fiktive Table Cities with dummy values
id    |  Short |  Name
--------------
24    |  VIE   |  "Vienna"
53    |  AX    |  "Aland Islands"
....

然后将id或键存储在表中 users . 当你得到数据的时候,你会对两个表进行连接。
一个更简单(但不是一个好的最终解决方案)的解决方案是“存储”那些硬编码为数组的对,您可以在输出时引用它们:

// array with cities you need
$cities = Array("AX"=>"Aland Island", "VIE"=>"Vienna", ....);

// data coming from database
$cityCode = "AX"; 
// would be something like 
$cityCode = $row['city'];

// then you can do:
echo $cities[$cityCode]; // will output "Aland Island"

相关问题