php和mysql,最佳实践

前端之家收集整理的这篇文章主要介绍了php和mysql,最佳实践前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我今天开始使用PHPmysql.基本上,我所拥有的是一个空页面,其中包含我在数据库中查找id时填写的内容.所以在我的主页上我有一个看起来像这样的网址:

PHP?id=id1">

然后在我的display.PHP中我有这个:

PHP
    include '../includes/header.PHP';
    $id = $_GET['id'];
    $MysqLi = new MysqLi('localhost','username','password','dbname');
    if($result = $MysqLi->query("SELECT * FROM portfolio WHERE id='".$id."'"))
    {
        while($row = $result->fetch_object())
        {
            $head = $row->head;
            $img1 = $row->img1;
            $img2 = $row->img2;
            $img_url = $row->imgurl;
            $img_thumb = $row->imgthumb;
            $vid = $row->vid;
            $swf = $row->swf;
            $url = $row->url;
            $url_text = $row->urltext;
            $text = $row->text;
        }
    }
    else echo $MysqLi->error;
?>

这是一个稀疏表,因为并非所有这些字段都有信息(许多字段可能为空).基本上它们包含文件名,然后在html中我有如下代码

if(isset($img1))
                    {
                        echo '

几个问题,

>这是最好的方法吗?
>每次我访问display.PHP时,我都在重新打开数据库连接吗?这不可能是好的……
>我选择将文件名称放在数据库中,而不是整个路径名,甚至是实际的文件本身,如果我更改了文件名称,我可以进入数据库并为文件更新它我想改变.如果我更改路径,我可以在html中更改一次.这是最好的主意吗?

谢谢!

最佳答案
1)不,虽然这是最简单的开始方式.在您对基础知识感到满意之后,您应该花一些时间考虑应用程序结构的不同方法.最重要的规则是分开关注点.不要将数据库代码与业务逻辑代码与表示代码混合在一起.但就像我说的那样,这不是你第一天应该担心的事情.现在只学习基础知识.

2)实际上没有其他办法.对于Web应用程序,来自浏览器的每个请求都类似于单独的应用程序运行.有可能使用所谓的持久性数据库连接,但就像之前的那样,这是您第一天不应该处理的事情,因为它们需要特定的Web服务器配置.暂时只使用普通连接.

3)这是非常明智的想法.您还可以将图像路径定义为PHP常量,以便在需要更改时,您只需更改此常量.

4)sAc在他的回答中说的非常重要.阅读有关sql注入以及如何防止它们的信息.

猜你在找的MySQL相关文章