使用php和mysqli

时间:2016-07-12 19:32:24

标签: php mysqli

仍然用PHP和mysqli弄湿了,还有很多需要学习的东西,但此时此问题是我最重要的优先事项之一。

我做了一些关于这个问题的研究,但是老实说,我现在已经被我的水平相当复杂的东西所淹没。我想找到最简单,最有效的方法来“自动”生成大量页面,每个页面都包含不同的数据。

以下第1页代码的示例是简化,因为实际页面实际上有更多东西,但我希望简化的示例能够说明我的观点。

<?php

$servername = "servername";
$username = "username";
$password = "password";
$db= "db";

$conn = mysqli_connect("servername","username","password","db");


$query = "SELECT word FROM demo WHERE group=1";
$result = $conn->query($query);
$row = mysqli_fetch_assoc($result);
$word = $row['word'];

echo $word;

?>

在我的表格中,我有/将会在“组”列中有500个条目(记录?),编号为1,2,3等,一直到500。 为了我的特定目的,我绝对需要创建尽可能多的在线页面 - 在这个例子中,500页。

第2页的回声必须引用第2组,第3页的回声必须引用第3组,依此类推。

显然,有一种方法可以做到这一点,无需复制和粘贴代码500次,并手动更改每个代码组!哈哈。但最简单的方法是什么?

提前感谢您的任何理解和帮助,无论哪种方式,都有一个非常棒的一天。

2 个答案:

答案 0 :(得分:0)

如果我正确理解您,我相信您正在等待动态地从数据库创建页面。您可以在请求http://yoursite.com/page.php?group=1.中使用get变量 然后在您的代码中更新您的查询:

$query = "SELECT word FROM demo WHERE group=".$_GET['group'];

该查询不安全,因为任何用户都可以将原始mysql注入$ _GET [&#39; group&#39;]变量。

$group = mysqli_real_escape_string($conn, $_GET['group']);
$query = "SELECT word FROM demo WHERE `group`='$group'";

这更安全。

答案 1 :(得分:0)

因此,PHP将在其访问的任何目录中默认查找名为index.php的文件。您可以将此类文件放在public_html或www的根目录中,也可以放在您的站点访问的位置。现在,在此文件中,您可以执行以下操作:

<?php
    if($_GET['group']){ //Make sure you have the var
         $query = "SELECT word FROM demo WHERE `group`=?"; //The query with param
        if ($stmt = mysqli_prepare($conn, query){ // try it out
            mysqli_stmt_bind_param($stmt, "i", $_GET['group']); // bind the data
            $stmt->execute(); //run it
            $result = $stmt->get_result(); // get results

            //use result to echo and stuff
        }
    } else {
        //Do something incase there is not a group specified.
        echo "Nothing here";
    }
?>

现在,当您访问自己的网站时,您将获得类似“localhost / index.php”的内容,并在此处看到Nothing,但如果您输入localhost/index.php?group='55',则可以访问结果中的第55页数据。