从MySQL数据库获取信息(PHP)

时间:2014-12-17 21:26:01

标签: php html mysql

我正在构建一个在线WYSIWYG编辑器,我已经为客户构建了一种方法,可以通过HTML中的<textarea>方法编辑自己的网页。现在唯一的问题是我从未直接处理过数据库(当我说'从来不是'我的意思是......从来没有。)

我严重关注这方面的一些事情......我希望有人知道如何解决这个问题。

所以,代码如下:
(所有这些都在身体标签内......)

<!-- 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. 要在textarea中显示,请替换“INITIAL TEXT”。
  3. (如果任何代码看起来不起作用那么可能是因为我已经快速删除了有关实际服务器的信息)。

1 个答案:

答案 0 :(得分:1)

用欧比旺克诺比的话来说,你需要学习很多关于力量的方法。&#34;但那没关系...如果我们想要去生活中的任何地方,我们都需要学习更多;)

尽管如此,我会尝试提供一些帮助。首先,请阅读DB设计。您可能应该将多个数据放入该数据表中(例如时间戳,用户ID以及可能是一个唯一的ID [DBMS可以为您做]

)。

您会注意到mysqli_ *与mysql_ *的主要内容是包含所需的数据对象:

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

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

以上代码也可作为获取&#34;结果资源的基础知识&#34;来自MySQL。但是&#34;结果资源&#34;不是实际数据;它更像是指针&#34;。如果你这样做了:

echo $result;

你只是得到&#34; 1&#34;如果查询成功。

这里有一些简短的代码可以帮助您了解如何从数据库中获取数据。我将对你的数据库表结构做一些假设,并且我会假设你知道你想要哪一个,包括一个人为的&#34; $ foo_id&#34;变量

$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应该包含三个感兴趣的变量,其中一个是您先前存储的文本。