php - 无法连接到本地主机mysql数据库

标签 php html mysql mysqli phpmyadmin

我正在尝试制作一个可以存储在 mysql 数据库中的简单表单。每当我尝试连接时,它都不会让我这样做。这是我所拥有的:

PHP:

<?php

define('DB_NAME', 'forms1');
define('DB_USER', 'root');
define('DB_PASSWORD', 'root');
define('DB_HOST', 'localhost');

$link = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD);

if (!$link) {
    die('Could not connect: ' . mysqli_error());
}

$db_selected = mysqli_select_db(DB_NAME, $link);

if (!$db_selected) {
    die('Can\'t use ' . DB_NAME . ': ' . mysqli_error());
}

$value = $_POST['input1'];
$value2 = $_POST['input2'];

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

if (!mysqli_query($sql)) {
    die('Error: ' . mysqli_error());
}

mysqli_close();
?>

HTML:

<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>

我的凭据正确,但是当我打开页面时,它显示“无法使用 forms1:”

甚至没有给我错误。

最佳答案

如果将连接变量添加到对 mysqli_error() 的调用

,它将给您一条错误消息
if (!$db_selected) {
    die('Can\'t use ' . DB_NAME . ': ' . mysqli_error($link));
}

这适用于对 mysqli_error($link) 的所有调用

The PHP MYSQLI Manual

这个错误应该会生成一个 PHP 错误,所以如果您没有看到,我假设您正在一个错误报告已关闭的实时服务器上进行开发。在这种情况下,您应该像这样启动所有脚本

<?php
error_reporting(E_ALL); 
ini_set('display_errors', 1);

这将确保您在浏览器上看到这些错误!调试脚本后,您可能应该删除这些行,因为您不希望用户在实时站点出现问题时看到此信息

连接还应包含数据库名称,

<?php

define('DB_NAME', 'forms1');
define('DB_USER', 'root');
define('DB_PASSWORD', 'root');
define('DB_HOST', 'localhost');

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

if (!$link) {
    die('Could not connect: ' . mysqli_error());
}

//$db_selected = mysqli_select_db(DB_NAME, $link);
//if (!$db_selected) {
//    die('Can\'t use ' . DB_NAME . ': ' . mysqli_error());
//}

mysqli_select_db() 调用在那里,因此如果您出于某种原因使用了 2 个数据库,则可以在同一连接上更改为另一个数据库。

I assume you are converting from the mysql_ API to mysqli_ API unfortunately the convertion is not a one to one conversion.

关于php - 无法连接到本地主机mysql数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38816127/

相关文章:

php - Android MySQL PHP JSON 错误

php - CSS/HTML/PHP 显示交替数组列表(Google Chrome 扩展)

html - 为什么我的图片无法加载到我的幻灯片中?

mysql - 具有相同值但处于不同状态/问题的单个或多个 ID

php - 在运行/执行后获取 php 文件的内容

php - 问题 : X-Content-Type-Options header missing

HTML5 输入元素的 CSS Float 失败

mysql - MariaDB 安装移动了我的 Mysql 数据库

php - AJAX 调用之间的持久 Mysql 连接?

php - 如何在 Yii 中用数据库值填充文本字段?