如何正确连接到另一个用户在PHP
问题描述:
我有一个问题,我想索姆输入。我列出了一个列出所有用户的列表,我正在进行一个小项目。在这个列表中,我有一个链接到每个现有的用户,以便用户可以互相访问。如何正确连接到另一个用户在PHP
链接看起来像这样。
<td>
<a href="otheruser.php?id=' .$row['id'].'">
<i class="glyphicon glyphicon-user" aria-hidden="true">Presentation</i>
</a>
</td>
这个链接作品有点。另一方面,问题开始。 当我到达我想要访问的用户个人资料页面时,我使用此代码从数据库中查找用户信息。
<?php
$userId = $_GET['id'];
$sql = "SELECT * FROM students WHERE id = " . intval($userId);
$stmt = $dbh->prepare($sql);
$stmt->execute();
?>
这也有效,但我已经了解到,这是不好的形式。因此 我试着用
//$sql = "SELECT * FROM students WHERE id = id";
然后将显示所有用户和彼此顶部所有他们的介绍和图片 ,在同一页上。那么,我又如何正确显示另一位用户 的演示文稿。 另外我使用PDO而不是MySQLI,如果这可以提供帮助。
答
你是密切与
$sql = "SELECT * FROM students WHERE id = id";
使用带有PDO一个准备好的查询,您可以通过以下两种方式,位置或命名占位符一个改变这一点。
阵地:
$sql = "SELECT * FROM students WHERE id = ?";
命名:
$sql = "SELECT * FROM students WHERE id = :id";
运行 “准备”,然后在执行语句添加值:
$stmt->execute([$userId]); // for positional
$stmt->execute(['id' => $userId]); // for named
(The only proper) PDO tutorial一直有很大的帮助让我加快PDO。
阅读手册中的[Prepared Statements](http://php.net/manual/en/mysqli.quickstart.prepared-statements.php)。在这种特殊情况下,您的代码是安全的,但是,因为您将该值作为整数转换。但是,是的,最好是使用Prepared Statements并一直使用它。 –
你得到身份证在另一个页面检查它 – Bhargav
@Bhargav如果我不问我不学习。你能像我11岁那样向我解释吗? :P – Robert