gpt4 book ai didi

php - 将 PHP 脚本转换为 PDO

转载 作者:行者123 更新时间:2023-11-29 08:32:09 25 4
gpt4 key购买 nike

我被告知我的脚本容易受到攻击,并将其更改为 PDO。我已经尝试过,它正在工作,但在 test.php 页面上显示如下。

Array 
(
[name] => matthew
[email] => ''@aol.com
[order] => shipped
[status] => AU1776
[attendeesFR] => 1
)

如何在没有数组和所有字符的情况下逐个呈现这些数据?

PDO 脚本:

    <?php

$host=""; // Host name
$username=""; // Mysql username
$password=""; // Mysql password
$db_name=""; // Database name
$tbl_name="members"; // Table name


$db = new PDO('mysql:host='.$host.
';dbname='.$db_name.
';charset=UTF-8',
$username, $password);
$stmt = $db->prepare('SELECT * FROM `members` WHERE `username`=:username LIMIT 1');
$result = $st

print_r($result);
?>

最佳答案

PHP 数据对象 (PDO) 扩展定义了一个轻量级、一致的接口(interface),用于访问 PHP 中的数据库。每个实现 PDO 接口(interface)的数据库驱动程序都可以将特定于数据库的功能公开为常规扩展函数。换句话说,你可以停止使用Mysql的功能。相反,您可以使用 PDO 来运行 MYSQL 驱动程序或服务器中安装的任何其他数据库驱动程序。

您可以在这里找到一些信息:http://www.php.net/manual/en/pdo.construct.php

试试这个:

<?php

$host=""; // Host name
$username=""; // Mysql username
$password=""; // Mysql password
$db_name=""; // Database name
$tbl_name="members"; // Table name

$db = new PDO('mysql:host='.$host.
';dbname='.$db_name.
';charset=UTF-8',
$username, $password);
$stmt = $db->prepare('SELECT * FROM `members` WHERE `username`=:username LIMIT 1');
$stmt->bindValue(':username', $_POST['textfield'], PDO::PARAM_STR);
$stmt->execute();
$result = $stmt->fetch(PDO::FETCH_ASSOC);

print_r($result);
?>

关于php - 将 PHP 脚本转换为 PDO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16301006/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com