[英]Can't access the Database (MAMP)
当我按下提交按钮时,出现错误消息:
错误表'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();
?>
您的问题与Mac无关。 您必须向我们展示更多代码。 表单中的代码看起来如何? 您如何将资料发送到数据库?
假设代码中的所有内容均已正确设置。 您需要检查的主要事情是数据库中是否确实有演示表。 转到phpmyadmin并检查它,如果没有表,请创建它。 您可以使用phpmyadmin来做到这一点,也可以通过类似这样的SQL查询来做到这一点
CREATE TABLE IF NOT EXISTS `form2`.`demo` ( `id` INT NOT NULL AUTO_INCREMENT , PRIMARY KEY (`id`));
当然,上面的代码将创建仅具有ID列的表,因此您必须根据需要进行调整
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库
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.