簡體   English   中英

從MySQL數據庫(PHP)獲取信息

[英]Get information from MySQL database (PHP)

我正在構建在線所見即所得的編輯器,並且已經構建了一種方法,供客戶通過HTML中的<textarea>方法來編輯自己的網頁。 現在唯一的問題是我從未直接處理過數據庫(當我說“從不”時,我的意思是……從不。)

我認真地堅持了一些關於此的內容...我希望有人知道如何解決此問題。

因此,代碼如下:
(所有這些都在body標簽內...)

<!-- Database Connection -->
<?php
    if ($_POST['submit']) {
        // MySql Database Connection, connecting at ("?", with details "user", "password") or spit error
        mysql_connect ("localhost", "user", "password") or die ('Error: ' . mysql_error());
        // Select database named ("dbName") or spit error
        mysql_select_db("dbName") or die ('Data error:' . mysql_error());
        // Select text to input, from textarea, name="textName"
        $text = mysql_real_escape_string($_POST['textName']); 
        // Input ^ into table "TableName", field (field)
        $query="INSERT INTO TableName (field) VALUES ('$text')";
        // Submit query, or spit error
        mysql_query($query) or die ('Error updating database' . mysql_error());
    }
?>

<!-- Actual Text Input -->
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
    <textarea name="textName">INITIAL TEXT</textarea>
    <input name="submit" type="submit" value="submit" />
</form>

將信息推送到數據庫中的實際代碼正在運行,我可以很容易地將文本輸入到textarea中,然后單擊“提交”,然后在我已設置的數據庫中查看它,但是現在我需要將信息從數據庫中刪除。

我需要通過兩種方式將其拔出:

  1. 要將其顯示在網頁上(將在與此相關的另一個文檔上完成)並且
  2. 要在文本區域內顯示它,請替換“初始文本”。

(如果任何代碼看起來都不應該工作,那可能是因為我已迅速刪除了有關實際服務器的信息)。

用歐比旺·基諾比(Obi-Wan Kenobi)的話來說,“您有很多要學習的力量方法。” 但是沒關系...如果我們想去生活中的任何地方,我們都需要學習更多;)

盡管如此,我會盡力提供一些幫助。 首先,請閱讀一些有關數據庫設計的知識。 您可能應該在該數據表中放置多個數據(想到的是時間戳,用戶ID以及唯一的ID [DBMS可以為您事情)。

關於mysqli_ *與mysql_ *相比,您會注意到的主要事情是包含了所需的數據對象:

$connection = mysqli_connect("localhost","root","","test");

$sql = "select * from myTable;";
$result = mysqli_query($connection,$sql);

上面的代碼還充當從MySQL獲取“結果資源”的入門。 但是,“結果資源”不是實際的數據。 它更像是一個“指針”。 如果您這樣做:

echo $result;

如果查詢成功,您將得到“ 1”。

這是一段簡短的代碼,可以幫助您了解如何從數據庫中獲取數據。 我將對您的數據庫表結構進行一些假設,並通過包含人為的“ $ foo_id”變量來假設您只知道想要的位。

$sql = "select timestamp, user_id, textfieldname from myTable where post_id = $foo_id;";
$res = mysqli_query($connection,$sql);
if ($res && $res->num_rows) { //we got a result, and the result contains data (at least 1 row)

  $return = array();   //this array will hold data for our script

  while ($row = $res->fetch_assoc()) {
     $return['text'] = $row['textfieldname'];
     $return['ts'] = $row['timestamp'];
     $return['user'] = $row['user_id'];
  }
}

此時,數組$ return應該包含三個感興趣的變量,其中之一是您先前存儲的文本。

暫無
暫無

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

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