我是一个使用MySQL数据库和PHP的完全初学者
我希望通过点击链接从包含记录列表的页面加载单个记录。
我已经获得了记录列表,当点击链接时,它会将用户带到包含此网址的页面:
/view.php?v=1 (with 1 being the ID of the record I clicked on the menu)
如何在页面上加载相关记录(ID为'1'的记录)?看起来它很简单,但我找不到如何在任何地方做到这一点。
显然我需要使用SQL语句从数据库中获取内容,但我需要放置什么?类似的东西:
$sql = "SELECT * FROM Topics WHERE TopicID=v";
答案 0 :(得分:1)
URL's
$_GET
变量
$topic_id = $_GET['v'];
您可以在查询中传递参数,而不是仅转储变量:
$query = $PDO->prepare(SELECT * FROM Topics WHERE TopicID=:topic_id);
$query->bindValue(':topic_id', $topic_id);
本文档将为您提供更多指导。 http://php.net/manual/en/ref.pdo-mysql.php
答案 1 :(得分:-2)
所以这将是你的PHP脚本:
// Establish your database connection, replace credentials with yours:
$dbc = new PDO('mysql:host=' . MYSQL_HOST . ';dbname=' . DB_NAME, MYSQL_USER, MYSQL_PW, array(PDO::ATTR_PERSISTENT => true));
// Get the id from the URL:
$id = filter_input(INPUT_GET, 'v');
// Set up the sql query:
$q = "SELECT * FROM Topics WHERE TopicID = $id";
// Execute the query and get the result:
$result = $dbc->query($q);
// Fetch the only row for your result:
$row = $result->fetch();
现在,您可以使用记录($行)执行任何操作。这是一个数组,所以,例如,如果你想得到'日期'列,或者你想要的任何东西,那就是$ row ['date']。我不知道主题表是如何构建的,但无论你在那里有什么列,那么它只是$ row [''],这就是你获得价值的地方。
另请注意,我没有提供任何验证支持。因此,您必须自己验证输入。这段代码是基本的,只是假设$ _GET变量中的数据是有效的。
/view.php?v=fuckyou不会工作,你会收到错误。
答案 2 :(得分:-2)
您可以使用下面的代码从表中获取单个记录值
URL :- www.abc.com/view.php?v=1 // Your url
$id = $_GET['v']; // get these value
$conn = mysql_connect("localhost", "mysql_user", "mysql_password"); // connect the database with your credentials
$sql = mysql_query("SELECT * FROM `Topics` where TopicID = $id limit 1 "); // sql query
while ($row = mysql_fetch_assoc($sql)) {
echo $row["TopicID"];
echo $row["TopicName"];
}