pdo 相关问题

PDO(PHP数据对象)是PHP的数据访问抽象层(接口)。它适用于大多数数据库系统。

使用 fetch_assoc 返回准确的 ID

我的代码有一个小问题。我正在使用 fetch_assoc 从数据库获取数据,并且需要获取每个返回值的 ID 号。问题是我的代码只返回...的 ID 号

回答 2 投票 0

如何通过PHP+SSH连接远程MySQL?

我正在尝试通过 PHP 连接到 MySql 数据库。该数据库正在远程服务器上运行,我可以访问该服务器。但我无法建立连接。 我已经在这里研究了很多才能找到......

回答 1 投票 0

SSL 证书验证过程中出现 pdo_sqlsrv 错误

使用 ubuntu 22、php8.2、odbc 驱动程序 18、OpenSSL 3.0.2,当我尝试使用 pdo_sqlsrv 连接 sqlsrv 数据库时,它返回以下错误: SQLSTATE[08001]:[Microsoft][SQL 的 ODBC 驱动程序 18 ...

回答 1 投票 0

本地和生产 Laravel 项目之间响应数据类型的差异

我在本地 XAMPP 服务器和生产服务器上运行的 Laravel 项目遇到了令人费解的问题。本地服务器使用 PHP 8.2.4 和 Apache 2.4.56,而生产服务...

回答 1 投票 0

SQLSTATE[HY093]:参数编号无效:绑定变量的数量与令牌的数量不匹配,我是用于连接数据库的新ussin pdo

$query="INSERT INTO users (用户名,密码,电子邮件)值(':userName',':pwd',':Email')"; $stmt=$pdo->准备($query); $stmt->bindParam(':用户名',$用户名); $stmt->bin...

回答 1 投票 0

JavaScript 中的 PHP 转义

我正在尝试从数据库查询输出项目描述。 这是一段代码,应该输出带有名称等的描述...... 我正在尝试从数据库查询中输出项目描述。 这是一段应该输出带有名称等描述的代码... <?PHP $type = "item"; $limit = 16; $preparedStatement = $SQL->prepare('SELECT * FROM z_shop_offer WHERE offer_type = :type LIMIT :limit'); $preparedStatement->bindParam(':type', $type, PDO::PARAM_STR); $preparedStatement->bindParam(':limit', $limit, PDO::PARAM_INT); $preparedStatement->execute(); if ($preparedStatement->rowCount() > 0) { // Define how we want to fetch the results $preparedStatement->setFetchMode(PDO::FETCH_ASSOC); $iterator = new IteratorIterator($preparedStatement); foreach ($iterator as $item) { echo ' <div class="ServiceID_Icon_Container" id="ServiceID_Icon_Container_'.$item['id'].'"> <div class="ServiceID_Icon_Container_Background" id="" style="background-image:url('.$layout_name.'/images/serviceid_icon_normal.png);"> <div class="ServiceID_Icon" id="ServiceID_Icon_'.$item['id'].'" style="background-image:url(' . $config['site']['item_images_url'] . $item['itemid1'] . $config['site']['item_images_extension'] . ');" onclick="ChangeService('.$item['id'].', 12);" onmouseover="MouseOverServiceID('.$item['id'].', 12);" onmouseout="MouseOutServiceID('.$item['id'].', 12);"> <div class="PermanentDeactivated"> <span class="HelperDivIndicator" onmouseover="ActivateHelperDiv($(this), \''.$item['offer_name'].'\', \''.htmlentities($item['offer_description']).'<BR><BR>\', \'\');" onmouseout="$(\'#HelperDivContainer\').hide();"> <div class="ServiceID_HelperDiv"></div> </span> </div> </div> </div> </div> '; } } ?> 我已经尝试过htmlentities、htmlspecialchars和addslashes。 这是存储在数据库中的描述(在这个数据库中,它停止显示带有描述的工具提示。 激活一小时 1.5 倍经验。它只有一项费用。 当一个注入处于活动状态时使用任何其他注入只会叠加它的 时间而不是经验。如果您注销或,时间不会停止 死吧。 如何正确转义/输出描述? 您可能遇到的问题是您需要双重转义数据。你需要: 首先将其转义为 HTML 第二个是 JavaScript。 所以除了 json_encode() 之外还需要使用 htmlspecialchars。 onmouseover="'.htmlspecialchars( 'ActivateHelperDiv($(this), '.json_encode($item['offer_name']).')' ).'">' 在这里,您对整个属性值使用 htmlspecialchars,对从 PHP 传递到 JavaScript 的值使用 json_encode

回答 1 投票 0

如何使用 PDO::quote 转义 LIKE 表达式中的字符串?

我尝试使用 PDO::quote 转义 LIKE 表达式中的字符串,因此用户字符串不得像以下那样被包围: 喜欢“%userStringToEscape%” 有办法做到吗?

回答 3 投票 0

我在用户表单中上传图像的代码有什么问题?

我目前正在做一个涉及mysql和php的项目。我创建了一个表单来捕获用户详细信息(包括护照),但每当用户填写表单并单击“提交”时,它就会变成空白

回答 1 投票 0

php 登录方法未按预期工作

所以我使用下面的代码有我的登录页面,但是验证代码不能很好地工作,它要么让我使用任何密码进入,要么根本不让我进入 初始化.php: 所以我的登录页面使用下面的代码,但是验证代码不能很好地工作,它要么让我使用任何密码进入,要么根本不让我进入 init.php: <?php date_default_timezone_set('Asia/Riyadh'); $error = ['Username' => '', 'Email' => '', 'Password' => '']; $input = ['Username' => '', 'Email' => '', 'Password' => '']; session_start(); $config = require 'config.php'; $db = new mysqli(...$config['db']); $db->set_charset($config['db_charset']); ?> 注册.php: <?php require 'init.php'; if ($_SERVER['REQUEST_METHOD'] === 'POST') { // input validation $Username = $input['Username'] = trim(filter_input(INPUT_POST, 'Username')); if (mb_strlen($Username) < 3 || mb_strlen($Username) > 30) { $error['Username'] = 'Please enter your name, it must be from 3 to 30 charaters long.'; echo "<p class='Center'> <font color=White size='50pt'>Username should be at least 3 characters long!</font> </p>"; } $Email = $input['Email'] = trim(filter_input(INPUT_POST, 'Email')); if (!filter_var($Email, FILTER_VALIDATE_EMAIL)) { $error['Email'] = 'Please enter a valid email address.'; echo "<p class='Center'> <font color=White size='50pt'>Please enter a valid email address!</font> </p>"; } else { $result = $db->execute_query("SELECT 1 FROM users WHERE email = ?", [$Email]); if ($result->fetch_row()) { $error['Email'] = 'Email address already taken.'; echo "<p class='Center'> <font color=White size='50pt'>Email address already taken.Please Login!</font> </p>"; } } $Password = filter_input(INPUT_POST, 'Password'); if (strlen($Password) < 3 || strlen($Password) > 72) { $error['Password'] = 'Please enter password, it must be from 3 to 72 characters long.'; echo "<p class='Center'> <font color=White size='50pt'>Password should be at least 3 characters long!</font> </p>"; } // if no errors if (implode("", $error) === '') { // Password MUST be hashed using the dedicated function $Password = password_hash($input['Password'], PASSWORD_DEFAULT); $VIP= "NO"; $Admin = "NO"; $Creation_date = date('d-M-Y h:i:s A'); $Last_Login = date('d-M-Y h:i:s A'); $Login_Times=1; // a parameterized query MUST be used to avoid errors and injections $stmt = $db->prepare("INSERT INTO Users (Username, Email, Password, VIP, Admin, Creation_Date, Last_login, Login_Times) VALUES (?,?,?,?,?,?,?,?)"); $stmt->execute([ $Username, $Email, $Password, $VIP, $Admin, $Creation_date, $Last_Login, $Login_Times, ]); echo "<p class='Center'> <font color=White size='50pt'>Registeration successful</font> </p>"; $_SESSION['Email'] = $Email; header("Location: home.php"); die; } } ?> <!DOCTYPE html> <html> <head> <meta http-equiv="refresh" content="4;URL=login.php"> <link rel="stylesheet" href="Styles/General.css"> <link rel="stylesheet" href="Styles/Background.css"> <link rel="icon" href ="favicon.ico" type="image/x-icon" /> <link rel="shortcut icon" href="favicon.ico" type="image/x-icon" /> <title>Register & Login</title> </head> <body class="Blue-Black"> <h1 class="Center">Please wait, you will be automatically redirected to the login & registeration page.</h1> </body> </html> Validation.php:(这是问题) <?php require 'init.php'; $Email = $input['Email'] = trim(filter_input(INPUT_POST, 'Email')); // i use one of the 3 below $Password = $input['Password']; //if i use this it lets me in with any password $Password = $_POST['Password']; // if i use this it doesn't let me in at all $Password = filter_input(INPUT_POST, 'Password'); // if i add this to 1/ if i don't it still doesn't let me in $result = $db->execute_query("SELECT Email FROM Users WHERE Email = ?", [$Email]); if ($result->fetch_row()) { $select = "SELECT Password FROM Users WHERE Email = ?;"; $result2 = $db ->execute_query($select, [$Email]) ; $Get_hash = $result2 ->fetch_assoc(); $hash = $Get_hash['Password']; if (password_verify($Password, $hash)) { $_SESSION['Email'] = $Email; $Date = date('d-M-Y h:i A'); $Update = "UPDATE Users SET Last_Login = ?, Login_Times = Login_Times + 1 WHERE Users.Email = ?"; $stmt = $db->execute_query($Update, [$Date, $Email]); header('location:home.php'); }else{ echo "<p class='Center'> <font color=White size='50pt'>Invalid Password. Try again!</font> </p>"; } }else{ echo "<p class='Center'> <font color=White size='50pt'>There is no account associated with this email address please sign up!</font> </p>"; } ?> <!DOCTYPE html> <html> <head> <meta http-equiv="refresh" content="4;URL=login.php"> <link rel="stylesheet" href="Styles/General.css"> <link rel="stylesheet" href="Styles/Background.css"> <link rel="icon" href ="favicon.ico" type="image/x-icon" /> <link rel="shortcut icon" href="favicon.ico" type="image/x-icon" /> <title>Register & Login</title> </head> <body class="Blue-Black"> <h1 class="Center">Please wait, you will be automatically redirected to the login & registeration page.</h1> </body> </html> 登录.php <!DOCTYPE html> <html> <head> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="Styles/Bootstrap.css"> <link rel="stylesheet" href="Styles/Font-Awesome.css"> <link rel="stylesheet" href="Styles/General.css"> <link rel="stylesheet" href="Styles/Login.css"> <link rel="icon" href ="favicon.ico" type="image/x-icon" /> <link rel="shortcut icon" href="favicon.ico" type="image/x-icon" /> <title>Register & Login</title> </head> <body> <a class="btn btn-danger" href="index.html">Cancel</a> <div> <h1 class="px20">Please Login after you Register if you don't have an account.</h1> <div> <div class="form-box"> <div class="button-box"> <div id="btn"></div> <button type="button" class="toggle-btn" onclick="Login()"> Login </button> <button type="button" class="toggle-btn" onclick="Register()"> Register </button> </div> <form action="validation.php" method="POST" id="Login" class="input-group"> <input type="Email" name="Email" class="input-field" placeholder="Email" required> <input type="Password" name="Password" id="Password" class="input-field" placeholder="Password" required> <i class="far fa-eye" id="togglePassword"></i> <button type="submit" class="submit-btn">Login</button> </form> <form action="registeration.php" method="POST" id="Register" class="input-group"> <input type="Email" name="Email" class="input-field" placeholder="Email" required> <input type="text" name="Username" class="input-field" placeholder="Username" required> <input type="Password" name="Password" class="input-field" id="Password2" placeholder="Password" required> <i class="far fa-eye" id="togglePassword2"></i> <button type="submit" class="submit-btn">Register</button> </form> </div> </div> </div> <script src="Scripts/Login.js"></script> </body> </html> 出了点问题,但我不太明白(注意:我是 php 和 mysql 的新手,所以详细的解释将不胜感激,请不要评判我仍在学习,所以这个错误对于专业人士来说可能并不困难 您不是对用户的密码进行哈希处理,而是对 $input 中的空默认密码进行哈希处理(这个变量的用途是什么?)。改变 $Password = password_hash($input['Password'], PASSWORD_DEFAULT); 到 $Password = password_hash(Password, PASSWORD_DEFAULT);

回答 1 投票 0

致命错误:在 null 上调用成员函数prepare()

我正在尝试访问类别及其内容的列表。我有一个名为“类别”的课程。我不断收到此错误。奇怪的是我在另外两个地方使用了同样的代码......

回答 5 投票 0

PDO - array_map 返回键中的对象 ID

嘿我有带有返回键的数组 $temp = $sth->fetchAll(PDO::FETCH_ASSOC); 我的结果如下所示: [0] => [ ‘id’ = 11, '标题' => 't1' ] [1] => [ ‘id’ = 12, 不是...

回答 3 投票 0

PHP 在不设置变量的情况下获取 PDO 数组的值?我该怎么办?

所以我通过 PDO 从数据库中提取一列,我想直接回显它而不分配变量。 query(“从类别中选择名称,其中代码 = '{$_GET['代码...

回答 2 投票 0

如何在 keyup 上从 javascript 添加发票数据,并将总税额和总计添加到输入值中,以便我可以插入它而无需在 php 中计算?

我想要实现的是,当我动态计算输入字段的数据时,我还想计算税收、总计和总计。 现在我想通过使用输入 HTML 标签来实现这一目标...

回答 1 投票 0

Laravel:在 PDO 对象上指定了不受支持的属性。 Ubuntu 上的 MSSQL

我的 Ubuntu vagrant Laravel Homestead 设置已配置为连接到 MSSQL。随机地,它开始在进入 MSSQL 数据库的每个查询上抛出以下错误(在 Windows 服务上......

回答 2 投票 0

codeigniter 3.1 PDO mysql 错误号:3D000/1046 未选择数据库

我之前在将 codeignier 2.xx 升级到 3.xx 时遇到问题,但找不到任何完整的答案。所以我想分享一下我是如何解决的。 在Codeignier官方网站显示如何连接...

回答 3 投票 0

未捕获的 PDOException:语法错误或访问冲突:您的 SQL 语法中有错误

我正在努力尝试查询 PHP 类中的数据库。我在尝试回显电子邮件地址时遇到错误。我是新来的课程,似乎无法让它发挥作用,但如果我做......

回答 1 投票 0

使用 PHP (PDO) 在关系表中插入行[重复]

我有两个mysql表 表 1:列 (id(int pk)、empid(int)、status( varchar(1) ) ) 表2:列(idfk(int fk)、paycodeidfk(int fk)、amount(int)) 关系:Table1->id为主键...

回答 2 投票 0


在 PHP PDO 中,如何在不知道名称的情况下绑定准备好的语句的命名参数? [重复]

我正在尝试编写一个辅助查询函数以将结果集返回给调用者,但是当调用者使用命名参数提供准备好的语句时,我不确定如何将它们绑定在函数中。

回答 1 投票 0

将一个表中的行连接为不同表MYSQL中的一列

我认为从根本上来说,我不明白如何使用相关表将两个表连接在一起,我需要帮助。 我有一张名为“formoptionslist”的表,它有 3 列(id、名称、...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.