PHP,PDO,这个函数是安全的吗,如果不是我需要在这里介绍的其他内容的话
PDO连接为:PHP,PDO,这个函数是安全的吗,如果不是我需要在这里介绍的其他内容的话,php,pdo,Php,Pdo,PDO连接为: public function __construct(){ $this->conn = new PDO("mysql:host=localhost;dbname=dms","root",""); $this->conn->exec("SET CHARACTER SET utf8"); } 下面是获取所需行结果的函数 public function getAny() { $stmt9 = $this->conn
public function __construct(){
$this->conn = new PDO("mysql:host=localhost;dbname=dms","root","");
$this->conn->exec("SET CHARACTER SET utf8");
}
下面是获取所需行结果的函数
public function getAny() {
$stmt9 = $this->conn->prepare("SELECT * FROM " . self::$table_name);
$stmt9->execute();
return $stmt9 = $stmt9->fetchAll();
}
在打开视图之后,我们将在运行函数后取出行。
这是view.php
$doc = $organ->getAny();
if(count($doc)){
foreach($doc as $data){
echo $data['id'] . "<br />";
echo $data['nameARABIC'] . "<br />";
}
$doc=$organe->getAny();
如果(计算($doc)){
foreach($doc作为$data){
echo$data['id']。“
”;
echo$data['nameARABIC']。“
”;
}
this view.php安全吗?我还应该做些什么来保护更多信息。
尽管我建议您使用“SET NAMES UTF8”而不是“SET character SET”。或者更好,如果您使用的是php>=5.3.6,您可以在DSN中使用“charset”参数 此外,为了避免SQL注入,您应该始终避免将用户输入放入字符串中,然后将其用于SQL。例如,如果self::$table_name是用户输入(尽管不是),您应该小心,并执行以下两项操作之一:
- 逃脱
- 使用事先准备好的语句
return $stmt9 = $stmt9->fetchAll();
将返回分配是否已完成(true或false,而不是$stmt9->fetchAll()的内容)
正如YourCommonSense所指出的,最后一部分描述的行为是不正确的。这个问题可能更适合所有这一切,因为我不能使用htmlspecialchars,因为如果我这样做,我的文本是阿拉伯语,它不会显示。@abas_-rafiq,所以你需要重新表述你的问题或创建一个新的问题。