Php 将pdo替换为mysql问题
我从未使用过pdo,在login.php文件中将mysql_*切换到pdo时遇到了很大困难。是否有任何建议,如何做到这一点,并使我的登录安全注射 Login.php:Php 将pdo替换为mysql问题,php,mysql,pdo,Php,Mysql,Pdo,我从未使用过pdo,在login.php文件中将mysql_*切换到pdo时遇到了很大困难。是否有任何建议,如何做到这一点,并使我的登录安全注射 Login.php: session_start(); $username = $_POST ['username']; $password = $_POST ['password']; if ($username&&$password) { $connect = mysql_connect ("localhost","**
session_start();
$username = $_POST ['username'];
$password = $_POST ['password'];
if ($username&&$password)
{
$connect = mysql_connect ("localhost","**********","***********") or die
("Couldn't connect");
mysql_select_db ("*********") or die ("DataBase does not exist");
$query = mysql_query("SELECT * FROM members WHERE username='$username'");
$numrows = mysql_num_rows ($query);
if ($numrows!=0)
{
while ($row = mysql_fetch_assoc($query))
{
$dbusername = $row['username'];
$dbpassword = $row['password'];
$firstname = $row['FirstName'];
}
if ($username==$dbusername&&$password==$dbpassword&&$numrows>0)
{
$_SESSION['name'] = $firstname;
$_SESSION['username'] = $username;
header( 'Location: admin.php' ) ;
exit;
}
else
echo "Incorrect Password!";
}
else
die ("User Doesn't Exist");
}
else
die("Please try again!");
?>
编辑:
dbconnect.php:
<?php
$username = 'root';
$password = '';
$maininf = 'mysql:host=localhost;dbname=;charset=utf8';
$db = new PDO($maininf,$username,$password);
?>
这是正确的吗?事实上,这样的转换是一项非常简单的任务。你只是从一个错误的角度来看待它。很可能您只是在使用PDO之前没有学习它。阿克顿:你不是应该在拿到驾照之前学会开车吗?同样的道理,你必须先学习。所以,就像tuts+中的一个,然后通读一遍,然后完成所有的示例和练习。然后试着写一个你自己的简单代码片段,并玩弄一下。从那时起,转换的任务将是小菜一碟 你可以从这里开始 只是为了完整
session_start();
if ($_POST['password'])
{
include 'pdo.php';
$stmt = $pdo->prepare("SELECT * FROM members WHERE username=?");
$stmt->execute([$_POST['username']]);
$row = $stmt->fetch();
if ($row && $row['password'] == $_POST['password'])
{
$_SESSION['user'] = $row;
header( 'Location: admin.php' ) ;
exit;
}
}
die("Please try again!");
你的意思是你想让我把我们的
code
转换成PDO
?主要是因为我对PDO了解不多,或者这是检查mysqli的正确方法,所以我在寻找相关建议。我在尝试将它从mysql转换为PDO时遇到了一些问题。在登录时,我一直看到一个白色页面。PHP显示的代码目前可以工作,但我相信它在注入时具有很高的风险。@user34741“我一直看到一个白色页面”,这可能意味着您的PHP文件中存在某种错误。尝试打开php.ini中的“display_errors”设置,或者检查Web服务器的error.log文件。这让我现在看起来相当无知。抱歉浪费你的时间,没问题,伙计。每个在SO上回答问题的人都在浪费时间,不管是这样还是那样。我找到了连接数据库和查询行数的方法。问题是如何从特定行获取信息,以便用于会话ID。您是否尝试了我上面发布的标记wiki?它有一些例子。我看了一点,但我会看得更详细。谢谢!