Php 如何使用localhost将数据发送到数据库

Php 如何使用localhost将数据发送到数据库,php,html,mysql,database,localhost,Php,Html,Mysql,Database,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 form

我创建了一个注册表单。我在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");

}

?>

<?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();
}

?>

当我想使用localhost-->(!)在表单上注册成员时,会出现此错误。致命错误:未捕获PDOException:SQLSTATE[HY000][1049]未知数据库“register”,位于C:\wamp64\www\register\connect.php的第7行

(!)PDOException:SQLSTATE[HY000][1049]第7行C:\wamp64\www\register\connect.php中的未知数据库“register”

我的connect.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");

}

?>

<?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();
}

?>

PDOException:SQLSTATE[HY000][1049]未知数据库“register”明确表示您的MySql无法找到您在连接字符串中指定的数据库名称

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


为了进一步支持您的声明,如果“注册”存在,并且您认为您的连接字符串正确,请将wamp的phpmyadmin的屏幕截图与数据库名“注册”共享,然后我们将能够进一步提供帮助。

您的数据库名(注册)错误。请检查它,但它没有错。还会发生什么事吗?
pdoExpection
<你有打字错误。它应该读为
PDOException
。您确定
dbname=register
和您的查询吗?他们都有相同的名字。查询应该是“插入成员…”-但我仍然认为他的数据库服务器地址是错误的。我添加了我的屏幕截图,请检查。这是我的问题的顶部好的,您的屏幕截图显示了以下观察结果:1)Mysql正在端口3308上运行,您需要将其添加到PDO连接字符串中,如下更新:$db=new PDO(“Mysql:host=localhost;port=3308;dbname=register;charset=utf8”、'root'、“”);第二个观察结果是您的表名是member,所以您的insert查询将不起作用,请将“insert INTO REGISTER…”替换为“insert INTO member…”