簡體   English   中英

使 PHP 下拉框從 SQL 數據庫中提取數據

[英]Making a PHP dropdown box pull data from an SQL database

所以我已經嘗試讓它工作幾天了,但我完全迷失了。 我已經嘗試按照這里的一些答案進行操作,但我似乎無法弄清楚需要更改什么才能使其適應我的數據庫。

我見過復雜而簡單的解決方案,但我目前正在嘗試的是:

...

    <?php
    echo "";

    define('DB_USER', 'username');
    define('DB_PASSWORD', 'password');
    define('DB_HOST', 'localhost');
    define('DB_NAME', 'username_test');

    $dbc = @mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME) OR die('Could not connect to MySQL: ' . mysqli_connect_error() );

    mysqli_set_charset($dbc, 'utf8');

?>
<?php 
    public function get_data()
    {
       $mysqli= new mysqli(DB_HOST,DB_USER,DB_PASS,DB_NAME) or die("Couldn't    connect".mysqli_connect_error());
       $sql="SELECT Staff_Surname, Staff_Forename FROM users";
       $result=$mysqli->query($sql) or die($mysqli->error);
          while ($row=$result->fetch_array(MYSQLI_ASSOC)) 
          {
            echo "<option value=\"".$row["Staff_Surname"]."\"  selected>".$row["Staff_Forename"]."</option>";
          }
     }  
?>

<html>

<body>
<select name="abc" id="xyz">
    <?php  get_data(); ?>
</select>


</body>

</html>

...

當我嘗試在瀏覽器中運行它時,這只會導致一堆錯誤。 我正在使用 Microsoft Expression Web 4 和 XAMPP。

這是SQL數據庫的截圖我只需要把名字和姓氏拉到一個下拉框中: SQL數據庫

你們能提供的任何幫助將不勝感激。 謝謝你。

抱歉,在預覽中看起來它顯示了錯誤是什么。 當我嘗試在瀏覽器中運行代碼時,我得到了這個:在此處輸入圖像描述

注意:使用未定義的常量 DB_PASS - 在index.php中第17行假定為“DB_PASS”

警告:mysqli::__construct(): (HY000/1045): 在第17行的index.php 中,用戶 'username'@'localhost'(使用密碼:YES)被拒絕訪問

警告:mysqli::query():無法在第19行的index.php 中獲取 mysqli

警告:get_data():無法在第19行的index.php 中獲取 mysqli

改變

$mysqli= new mysqli(DB_HOST,DB_USER,DB_PASS,DB_NAME) or die("Couldn't    connect".mysqli_connect_error());

$mysqli= new mysqli(DB_HOST,DB_USER,DB_PASSWORD,DB_NAME) or die("Couldn't    connect".mysqli_connect_error());


解析錯誤:語法錯誤,意外的“公共”(T_PUBLIC),預計第15index.php 中的文件結束

改變

public function get_data()

function get_data()


這些更改應處理您收到的所有錯誤。

帶有@stealthyninja 編輯的代碼:

    <?php
    echo "";

    define('DB_USER', 'username');
    define('DB_PASSWORD', 'password');
    define('DB_HOST', 'localhost');
    define('DB_NAME', 'username_test');

    $dbc = @mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME) OR die('Could not connect to MySQL: ' . mysqli_connect_error() );

    mysqli_set_charset($dbc, 'utf8');

?>
<?php 
    function get_data()
    {
       $mysqli= new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME) OR die("Couldn't connect".mysqli_connect_error());
       $sql= "SELECT Staff_Surname, Staff_Forename FROM users";
       $result= $mysqli->query($sql) or die($mysqli->error);
          while ($row=$result->fetch_array(MYSQLI_ASSOC)) 
          {
            echo "<option value=\"".$row["Staff_Surname"]."\"selected>".$row["Staff_Forename"]."</option>";
          }
     }  
?>

<html>

<body>
<select name="abc" id="xyz">
    <?php get_data(); ?>
</select>


</body>

</html>

編輯:

  • 連接到 MySQL 的問題。 首先是用戶名和密碼:登錄信息
  • XAMPP 控制面板: XAMPP
  • 以前工作的測試代碼:注冊
  • 現在出現的錯誤:注冊錯誤

我認為我沒有改變它以前工作時的任何東西。 我按照 Larry Ullman 所著的“用於動態網站的 PHP 和 MySQL 第五版”一書中的教程構建了注冊頁面。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM