如何从数据库中获取表格?

时间:2012-11-30 22:17:34

标签: php mysql database

我有一份学校作业:我需要建立一个用户数据库。

首先,我需要知道如何从数据库中的表中获取信息。 然后我需要将用户名写入数据库。

让我们从第一个开始:

我正在与MAMP合作。 我从老师那里得到了这个样本,我在那里添加了一些回声。

< ?php

$dbhost  = 'localhost';    // Unlikely to require changing
$dbname  = 'chrisdb';        // Modify these...
$dbuser  = 'root';        // ...variables according
$dbpass  = 'root';        // ...to your installation

$db_server=mysql_connect($dbhost, $dbuser, $dbpass) or die(mysql_error());
echo("1");
if (!$db_server) die("Unable to connect to MySQL: " . mysql_error());
echo("2");
mysql_select_db($dbname)
    or die("Unable to select database: " . mysql_error());
echo("3");

?>

所有回声都被打印出来。这是否意味着我可以访问服务器? 如何访问数据库中的表并获取其值?

我该如何写入数据库?

我不是在寻找最好的代码,更像是最简单的代码。 我感谢你能给我的所有帮助。如果您有帮助,请解释一下您的代码的含义吗?

3 个答案:

答案 0 :(得分:0)

您通过发送INSERT语句并使用SELECT语句进行读取来写入数据库。见the documentation

我个人讨厌W3Schools,但this article将帮助您开始如何将数据插入数据库。

您应该注意,我们已弃用mysql_个功能,您应该使用mysqli_PDO

答案 1 :(得分:0)

您将在数据库上运行sql查询。

这是在数据库上运行select语句的一个简单示例(但如果没有任何内容插入数据库,则不会显示任何内容)

$sqlStatement = "SELECT * FROM tablename;
$result = mysql_query($sqlStatement,$db_server);

//this will calculate the number of rows in $result
 $rows=mysql_numrows($result);

$i=0;
//the loop below will extract each row in $result and put it in $variable. 
while ($i < $num) {
   $variable=mysql_result($result,$i,"column_name");
   $i++;
}

答案 2 :(得分:0)

我认为您需要了解MAMP服务器的每个组件的功能。如果您要进入第三个回声,则之前的任何函数调用都不会失败。如果遇到问题,die()函数将暂停执行并显示mysql_error()文本。

为了与数据交互,我们假设您创建一个名为Students的表,其结构如下:

StudentID   varchar(9)
FirstName   varchar(30)
LastName    varchar(30)

以下是插入行的方法:

<?php
   $result = mysql_query("INSERT INTO Students (StudentID, FirstName, LastName) VALUES ('123456789', 'Michael', 'Hunt')");
   if (!$result) {
      die('query failed: ' . mysql_error());
   }
?>

以下是检索所有行的方法:

<?php
   $result = mysql_query("SELECT * FROM Students");
   if (!$result) {
      die('query failed: ' . mysql_error());
   }
?>

如果检索成功,这里有一个代码片段,可以将结果投放到表格中并显示它们:

<?php
   $numfields = mysql_num_fields($result);
   echo "<table>\n<tr>";
   for ($i=0; $i < $numfields; $i++)
      { echo '<th>'.mysql_field_name($result, $i).'</th>'; }
   echo "</tr>\n";
   while ($row = mysql_fetch_row($result))
      { echo '<tr><td>'.implode($row,'</td><td>')."</td></tr>\n"; }
   echo "</table>\n"
?>