这里的另一个新手..我正在尝试修复以下代码,以防止sql注入,并学习编写php和sql的新方法。
您的建议将不胜感激。
我修改了这个
<?php
class DB_Functions {
private $db;
function __construct() {
require_once 'db_connect.php';
$this->db = new DB_Connect();
$this->db->connect();
}
public function getUser($uid, $password) {
$result = mysql_query("SELECT * FROM users WHERE id = '$uid' AND pswd = '$password'") or die(mysql_error());
$no_of_rows = mysql_num_rows($result);
if ($no_of_rows > 0) {
$result = mysql_fetch_array($result);
return $result;
} else {
return false;
}
}
}
?>
为此,我没有得到相同的结果。
<?php
class DB_Functions {
private $db;
function __construct() {
require_once 'db_connect.php';
$this->db = new DB_Connect();
$this->db->connect();
}
public function getUser($uid, $password) {
$sql = $db->prepare("SELECT * FROM users WHERE id=:id AND pswd=:password");
$result = $db->query($sql);
$no_of_rows = mysql_num_rows($result);
if ($no_of_rows > 0) {
$result = mysql_fetch_array($result);
return $result;
} else {
return false;
}
}
}
?>
您不能将mysql与mysqli或PDO混合使用。您需要查看错误日志,因为这不可能实现-您应该看到大量致命错误。
public function getUser($uid, $password) {
$stmt = $db->prepare("SELECT * FROM users WHERE id=? AND pswd=?");
$stmt->execute(array($uid, $password));
return $stmt->fetch();
}
我有一个基本的Groovy脚本,我希望尽可能简单地创建日志。我希望消息转到标准输出,以及一个日志文件,日志文件中的每个条目都有一个时间戳。 我不能使用@Log符号,因为它是一个脚本,我没有要注入的类。否则我认为这将是理想的。
问题内容: 我创建了一个redis lua脚本来执行基于关键数据类型的命令: 每次执行时,它都会返回null。请帮助纠正脚本。 问题答案: 对响应的返回形式如下表:(如果类型为字符串,则返回) 因此,为了正确检查,您应该将代码更改为: 其余代码将正常运行。 问题是这样的:TYPE命令是少数几个返回“简单字符串”或“状态” redis答复的命令之一(有关响应类型,请参见redis协议规范)。在red
我在网上到处都找过了,SESSION变量的细微差别需要对我进行一些澄清。 我有一个设置会话变量的网站(我假设它还设置了一个 cookie 来定义会话 id 是什么?不知道这是如何工作的),一切都完美无缺。我在通过手机漫游(使用 wifi)时发现,每当手机切换 wifi 网络时,浏览器似乎无法再访问会话,直到该窗口/选项卡关闭并重新打开。 根据我所读到的以下内容,请为我澄清: > < li> 当浏览
我正在尝试使用解析SDK进行Facebook的单点登录,但是当我按下登录按钮时,我收到此错误: 哦哦。出现错误:错误域=com.facebook。sdk Code=2“操作无法完成。(com.facebook.sdk error 2.)”UserInfo=0x1d5bac20{com.facebook.sdk:ErrorLoginFailedReason=com.facebok.sdk:Syste
我在通过网络浏览器(IE或Chrome)使用ADFS登录应用程序时遇到问题。我希望使用ADFS SAML自动、透明地登录用户(当前用户已登录),而无需输入这些标识符。 所以我有2台运行Windows 2016 Server的服务器:-第一个Serv1:带有Active Directory目录的域控制器-第二个Serv2:ADFS服务器(4.0),它连接到控制器Serv1 当我试图访问我的应用程序时
问题内容: 我正在尝试设置回合部署脚本。我在使用远程登录时遇到了一些麻烦。在远程服务器上创建数据库时,我们需要使用sql帐户(而不是计算机或域,这是针对Server 2008 R2 SP1上的MSSQL 2008R2)登录。有没有办法为回旋连接和运行脚本提供不同的凭据,因为我在文档中没有看到它?谢谢。 问题答案: 如果指定连接字符串而不是服务器名称和数据库名称,则还可以设置凭据。 来自:https