无法连接到数据库

时间:2018-02-25 10:46:39

标签: php mysql mysqli

我一直在努力学习php,但我却陷入了这个基本的问题。 我真的不知道出了什么问题。你们可以查看代码并告诉我出了什么问题吗?感谢。

<?php
session_start();
$connection = mysqli_connect('127.0.0.1', 'root', 'root', 'blogdb');

if(!$connection)
die('error');

$call = '';
$username = $_POST['nickname'];
$password = $_POST['password'];
$password_again = $_POST['password_again'];

if($_POST)
{
 if($password != $password_again)
  $call = 'Hesla nesouhlasí!';
 else if($_POST['year'] != date('Y'))
  $call = 'Špatně vyplněný antispam!';
 else
 {
  $exists = mysqli_query('SELECT COUNT(*)
                          FROM uzivatel
                          WHERE jmeno=?
                          LIMIT 1', $username);

  if($exists)
    $call = 'Uživatelské jméno je obsazeno!';
  else
  {
    mysqli_query("INSERT INTO uzivatel (jmeno , heslo)
                  VALUES ($username , $password)");
    $call = 'Registrace proběhla úspěšně!';
  }
 }
}
?>

天啊,我现在意识到了。我没告诉你是什么问题。 所以问题是我无法连接到我的数据库。 我创建了新的file.php和新的数据库,以测试我是否做得对。

$test = mysqli_query($connection ,"INSERT INTO test (jmeno , prijmeni) 
                                   VALUES ('test' , 'test')");

这是有效的,所以我修改了代码,但它仍然不起作用。

mysqli_query($connection, "INSERT INTO uzivatel (jmeno , heslo)
                           VALUES ('admin' , 'admin')");

它不会出现在数据库中。

4 个答案:

答案 0 :(得分:0)

我改变了一些东西,现在它起作用了。

<?php
$connection = mysqli_connect('127.0.0.1', 'root', '', 'blogdb');
if(!$connection)
 die('error');

$username = $_POST['username'];
$password = $_POST['password'];
$password2 = $_POST['password2'];
$antispam = $_POST['year'];
$error = '';

if($_POST)
{
  if(empty($username) || empty($password) || empty($password2) || empty($antispam))
  {
    $error = 'Všechny pole musí být vyplněný!';
  }
  else if($password != $password2)
  {
   $error = 'Hesla se neshodují!';
  }
  else if($antispam != date('Y'))
  {
    $error = 'Špatně vyplněný antispam!';
  }
  else
  {
    $exists = mysqli_query($connection, "SELECT jmeno FROM uzivatel WHERE     jmeno = '$username'");
    if(mysqli_num_rows($exists) > 0)
    {
      $error = 'Uživatelské jméno je již obsazeno!';
    }
    else
    {
      mysqli_query($connection, "INSERT INTO uzivatel (jmeno, heslo) VALUES         ('$username', '$password')");
      $error = 'Registrace proběhla úspěšně.';
    }
  }
}
 ?>

答案 1 :(得分:-1)

我建议请检查mysql服务器的用户名和密码,还是运行或不运行mysql服务器。

一般情况下,localhost用户名为root,密码为&#34;&#34; (空白)。

另外,请检查您是否已创建了一个您尝试连接的数据库 blogdb

答案 2 :(得分:-1)

mysqli_connect('127.0.0.1','root','root','blogdb')括号内的第三个参数应该是你的数据库密码,默认情况下,它是空的 所以你可以做(​​'127.0.0.1','root','','blogdb')。并确保您的本地mysql服务器正在运行

答案 3 :(得分:-1)

将密码更改为其他root,并查看是否有帮助。