无法访问数据库(MAMP)

时间:2015-05-26 16:10:49

标签: php mysql mamp

当我按下提交按钮时,我收到错误消息:

  

ErrorTable' form2.demo'不存在

form2是我在phpmyadmin中创建的数据库名称。

我是新的MAC用户。

以下是我的PHP代码。

define('DB_NAME','form2');
define('DB_USER','root');
define('DB_PASSWORD','root');
define('DB_HOST','localhost:8888');

我的端口是:

Apache  : 8888
Msql : 8889

完整代码如下:

<?php
define('DB_NAME','form2');
define('DB_USER','root');
define('DB_PASSWORD','root');
define('DB_HOST','localhost:8889');


$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'];

$sql = "INSERT INTO demo (input1) VALUES ('$value')";

if(!mysql_query($sql)){
  die('Error' . mysql_error());
 }
 mysql_close();
 ?>

2 个答案:

答案 0 :(得分:0)

您的问题与Mac无关。你必须向我们展示更多代码。表单中的代码如何?你如何将东西发送到数据库?

我们假设代码中的所有内容都已正确设置。您需要检查的主要事项是您的数据库中是否有实际的演示表。转到phpmyadmin并检查它,如果没有表创建它。您可以使用phpmyadmin来执行此操作,或者通过SQL查询执行此操作

CREATE TABLE IF NOT EXISTS `form2`.`demo` ( `id` INT NOT NULL AUTO_INCREMENT , PRIMARY KEY (`id`));

当然,上面的代码会创建只包含ID列的表格,因此您必须根据需要进行调整

答案 1 :(得分:0)

 DEFINE('DB_USERNAME', 'root');
 DEFINE('DB_PASSWORD', '');
 DEFINE('DB_HOST', 'localhost');
 DEFINE('DB_DATABASE', 'customer');

 $mysqli = new mysqli(DB_HOST, DB_USERNAME, DB_PASSWORD, DB_DATABASE);


 if (mysqli_connect_error()) {
  die('Connect Error ('.mysqli_connect_errno().') '.mysqli_connect_error());
 }

 echo 'Connected successfully.';


 $mysqli->close();

尝试使用msqli库