PHP从MySQL数据库检索数据错误

时间:2015-07-02 22:40:09

标签: php

我有两个名为form1.php和demo12.php的php文件。这是form1.php文件的结果:

<form action="demo12.php" method="post" />
<p>Name <input type="text" name="input1" /></p>
<p>Age <input type="text" name="input2" /></p>
<input type="submit" value="Submit" />
</form>

然后我的demo12.php的代码是:

<?php

define('DB_NAME', 'form1');
define('DB_USER', 'root');
define('DB_PASSWORD', 'root');
define('DB_HOST', 'localhost');

$link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);

if (!$link) {
    die('Could not connect: ' . mysql_error());
}

$db_selected = mysql_select_db(DB_NAME, $link);

if (!$db_selected) {
    die('Can\'t use ' . DB_NAME . ': ' . mysql_error());
}

$value = $_POST['input1'];
$value2 = $_POST['input2'];

$sql = "INSERT INTO user_info (name, age) VALUES ('$value', '$value2')";

if (!mysql_query($sql)) {
    die('Error: ' . mysql_error());
}

$result = mysql_query("SELECT * FROM name") or die(mysql_error());

while($row = mysql_fetch_assoc($result)) {
    echo $row["name"];
}

?>

我可以输入名称,年龄,然后单击提交按钮,将用户带到demo12.php页面并将数据插入MySQL数据库。问题是,我想检索然后将名称列中的所有内容显示到页面上。所以我有一个名为form1的数据库,它们是一个名为user_info的表。我拥有的3列是ID,名称和年龄。要显示名称列中的所有内容,我将在脚本的近端显示:

$result = mysql_query("SELECT * FROM name") or die(mysql_error());

while($row = mysql_fetch_assoc($result)) {
    echo $row["name"];
}

然后在插入数据时,当它要显示表中的所有名称时,它会出错:

表'form1.name'不存在

但是当我把代码拿出来时它没有错误。为什么不起作用?

3 个答案:

答案 0 :(得分:1)

您正在插入数据库user_info,然后尝试从数据库name中选择。尝试将您的选择更改为"SELECT * FROM user_info"

答案 1 :(得分:0)

你应该写:

$result = mysql_query("SELECT * FROM user_info") or die(mysql_error());

而不是

$result = mysql_query("SELECT * FROM name") or die(mysql_error());

答案 2 :(得分:0)

请在上一部分用以下内容替换

$result = mysql_query("SELECT name FROM user_info") or die(mysql_error());

while($row = mysql_fetch_assoc($result))
{
    echo $row['name'];
}