我正在学习pdo,我试着用crud方法。我试图插入数据到数据库使用pdo,但它没有插入。下面是我的代码
<?php
$username = $_POST['username'];
$password = password_hash($_POST['password'], PASSWORD_BCRYPT ));
try {
$query = $connect->prepare("INSERT INTO users(username, password) VALUES(?,?)");
$query->execute(array($username, $password));
echo "data";
}
catch (PDOException $event) {
echo $event->getMessage();
}
?>
我把这个索引文件命名为index.php
<?php
require_once 'db.php';
session_start();
session_regenerate_id();
?>
<!DOCTYPE html>
<html>
<head>
<title>Sign-Up/Login Form</title>
</head>
<?php
if ($_SERVER['REQUEST_METHOD'] == '$_POST') {
if (isset($_POST['login'])) {
require 'login.php';
}
elseif (isset($_POST['register'])) {
require 'register.php';
}
}
?>
<body>
<form action="index.php" method="POST">
<input type="text" name="username">
<input type="password" name="password">
<input type="submit" name="register" value="Submit">
</form>
</body>
</html>
我的db.php看起来像
<?php
try {
$connect = new PDO('mysql:dbname=pdologin;host=localhost', 'root', '$$$$');
$connect->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (Exception $event) {
$event->getMessage();
}
?>
3条答案
按热度按时间wfsdck301#
问题是你的代码永远不会到达你的
require
脚本(login.php
或者register.php
)因为你的条件是不正确的。您有:
if ($_SERVER['REQUEST_METHOD'] == '$_POST')
应该是的if ($_SERVER['REQUEST_METHOD'] == 'POST')
jvidinwx2#
先连接
然后在执行时删除参数
试试这个
o7jaxewo3#
在学习或编写一些需要连接的小脚本时,您将得到如下结果,从长远来看,将这些东西 Package 到函数中或使用一个小助手或框架可以使这变得简单一些。好主意学习,但它仍然乏味的锅炉板无论多少年你写这东西。
例如,我的团队现在只编写数据库绑定代码