首页 > 解决方案 > 如何使用 localhost 将数据发送到数据库

问题描述

在此处输入图像描述我创建了一个注册表单。我在mysql中注册了数据库和成员表。

我的 register.php 文件是:

<?php
//verileri gönderebilmek için önce bir veri tabanına bağlanmamız gerekir.
include"connect.php"; //connect.php adında bir dosya açtık(veri tabanı kısmında kullanıcaz)

//html deki register formdan gelen verileri register.php ye almış oluyoruz..
$name = $_POST["firstname"]; //veriler POST ile gönderilir.
$sname = $_POST["surname"];
$male = $_POST["male"];
$fename = $_POST["female"];
$email = $_POST["eMail"];
$number = $_POST["phonenum"];
$password = $_POST["pword"];

//veritabanı tablosunda eşitliyoruz ex: member_name eşitse member_name e gibi.
$register=$db->prepare("INSERT INTO register SET
  member_name=:member_name,  
  member_surname=:member_surname,
  member_male=:member_male,
  member_female=:member_female,
  member_mail=:member_mail,
  member_number=:member_number,
  member_password=:member_password

");

//atama işlemini gerçekleştiriyoruz ex: member_name e POST tan gelen firstname i atıyoruz..
$insert=$register->execute(array(
  'member_name' => $_POST['firstname'],
  'member_surname' => $_POST['surname'],
  'member_male' => $_POST['male'],
  'member_female' => $_POST['female'],
  'member_mail' => $_POST['eMail'],
  'member_number' => $_POST['phonenum'],
  'member_password' => $_POST['pword']

));

//insert işleminin başarılı olup olmadığını kontrol ediyoruz
//inser işlemi başarılı olursa buraya yönlendir

if($insert){
    Header("Location:index.php?durum=ok");
}
//insert işlemi başarısız olursa buraya yönlendir
else{
    Header("Location:xml_get_current_byte_index(parser).php?durum=no");

}

?>

当我想使用 localhost ----> (!) 在表单上注册成员时出现此错误:致命错误:未捕获的 PDOException: SQLSTATE[HY000] [1049] Unknown database 'register' in C:\wamp64\www\register \connect.php 在第 7 行

( ! ) PDOException: SQLSTATE[HY000] [1049] Unknown database 'register' in C:\wamp64\www\register\connect.php 第 7 行

我的 connect.php 文件是:

<?php
//mysql de oluşturduğumuz veri tabanına erişim sağlamak için bunu kullanıyoruz 
try {
    //mysql:host=localhost(local hostta çalıştığımız için)
    //dbname=member (oluşturduğum veritabanının ismi member)
    //phpmyadmin için root(kullanıcı adı) ''(şifresiz girdiğimiz için boş)
    $db = new PDO("mysql:host=localhost;dbname=register;charset=utf8",'root','');

}
catch (PDOExpception $e){
    echo $e->getMessage();
}

?>

标签: phphtmlmysqldatabaselocalhost

解决方案


PDOException: SQLSTATE[HY000] [1049] Unknown database 'register' 清楚地表明您的 MySql 找不到您在连接字符串中指定的数据库名称。

您很有可能在其他数据库主机而不是本地主机上“注册”数据库。您可能想检查您的系统上是否存在其他数据库,例如 XAMPP 或 MAMP 等。

为了进一步支持您的主张,如果“注册”存在并且您认为您的连接字符串是正确的,请分享来自 wamp 的任何一个 phpmyadmin 的屏幕截图,数据库名称为“注册”,然后我们将能够提供进一步的帮助。


推荐阅读