当我尝试提交到我的演示数据库时出现此错误: 无法使用演示:未知数据库'演示' 如何让服务器运行?
基本形式:
<form action="demo.php" method="post" />
<p>Input 1: <input type="text" name="input1" /></p>
<p>Input 2: <input type="text" name="input2" /></p>
<input type="submit" value="Submit" />
</form>
服务器通信设置:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
</head>
<body>
<?php
define('DB_NAME', 'demo');
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 demo (input1, input2) VALUES ('$value', '$value2')";
if (!mysql_query($sql)) {
die('Error: ' . mysql_error());
}
mysql_close();
?>
</body>
</html>
我的所有代码都应该有效,并且来自本教程:Tutorial video link
这是我用过的原始php文件的下载链接:
Original from tutorial: Basic php form
Orignial from tutorial: Communication with server php-file
答案 0 :(得分:2)
您的数据库被称为&#34; forms1&#34;不是&#34;演示&#34; ..表被称为&#34; forms1&#34;。
将define('DB_NAME', 'demo');
更改为define('DB_NAME', 'forms1');
答案 1 :(得分:1)
您的数据库名称是 forms1 而不是演示。 demo是你的表名
试试此代码
define('DB_NAME', 'forms1');//Your database name is forms1 not demo
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());
}
更改此代码,因为在您的表格列中 input2不可用
$sql = "INSERT INTO demo (input1) VALUES ('$value')";
答案 2 :(得分:0)
您需要在mysql_connect上定义数据库
$link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);