【问题标题】:Can't use demo: Unknown database 'demo'无法使用演示:未知数据库“演示”
【发布时间】:2015-10-17 21:26:21
【问题描述】:

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

基本形式:

<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

【问题讨论】:

标签: php mamp


【解决方案1】:

您的数据库称为“forms1”而不是“demo”。表称为“forms1”。

define('DB_NAME', 'demo'); 更改为define('DB_NAME', 'forms1');

【讨论】:

  • 现在可以工作,但现在出现错误:“字段列表”中的“input2”postimg.org/image/psmvvfthx
  • 您的“演示”数据库中有哪些列?也许“input2”不是列之一?
  • 好的,postimg.org/image/8z9095cot 当我尝试添加类似于输入 1 的输入 2 时出现错误
【解决方案2】:

您的数据库名称是 forms1 而不是 demo。 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')";

【讨论】:

【解决方案3】:

你需要在 mysql_connect 上定义你的数据库

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

【讨论】:

  • 这样好吗?:$link = mysql_connect('demo', 'root', 'root');
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多