无法使用demo:未知数据库'demo'

时间:2015-10-16 09:24:59

标签: php mamp

当我尝试提交到我的演示数据库时出现此错误: 无法使用演示:未知数据库'演示' 如何让服务器运行?

基本形式:

<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

Screenshot of all

3 个答案:

答案 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);