我知道这个问题之前已经问过,我已经尝试过这些解决方案,他们没有工作。我创建一个社交网络,不过登记系统不工作,当我点击提交它给了我这个错误:PHP错误:没有选择数据库,即使拼写正确
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[3D000]: Invalid catalog name: 1046 No database selected' in C:\xampp\htdocs\Breakr\classes\DB.php:12 Stack trace: #0 C:\xampp\htdocs\Breakr\classes\DB.php(12): PDOStatement->execute(Array) #1 C:\xampp\htdocs\Breakr\create-account.php(9): DB::query('INSERT INTO use...', Array) #2 {main} thrown in C:\xampp\htdocs\Breakr\classes\DB.php on line 12
看样子是在db.php中具有线12个问题(database.php中)
<?php
class DB {
private static function connect() {
$pdo = new PDO('mysql:127.0.0.1;dbname=breakr_main;charset=utf8', 'root', '');
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
return $pdo;
}
public static function query($query, $params = array()) {
$statement = self::connect()->prepare($query);
$statement->execute($params);
$data = $statement->fetchALL();
return $data;
}
}
,以及对创建-account.php线9
<?php
include('classes/DB.php');
if (isset($_POST['createaccount'])) {
$username = $_POST['username'];
$password = $_POST['password'];
$email = $_POST['email'];
DB::query('INSERT INTO users VALUES (\'\',:username, :password, :email)', array(':username'=>$username, ':password'=>$password, ':email'=>$email));
echo "success!";
}
?>
<h1>Register</h1>
<form action="create-account.php" method="post">
<input type="text" name="username" value="" placeholder="Username"><p />
<input type="password" name="password" value="" placeholder="Password"><p />
<input type="email" name="email" value="" placeholder="Email"><p/ >
<input type="submit" name="createaccount" value="Create Account">
</form>
谢谢
正确的语法在PDO手册连接列出尝试使用。 –