我有两个名为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'不存在
但是当我把代码拿出来时它没有错误。为什么不起作用?
答案 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'];
}