如何在现有脚本中查询mysql数据库?

时间:2015-11-30 10:01:07

标签: php mysql

我正在处理脚本的入口页面,该脚本需要查询MySQL数据库。它将位于类似domain.com/e.php的位置,而domain.com是一个已经存在的专业脚本,它使用与数据库的连接(我不确定如何完成,但我输入dbname,user,密码,主机名作为配置文件中的变量,类似于脚本的domain.com/admin/config.php

我有一个这样的代码正在运行:

<?php
$param=$_GET['m'];
$param=str_replace("-", " ", $param);
$param=ucwords($param); 
echo $param; 
?>

这将需要domain.com/e.php?m=sunny-leone并在e.php页面上打印出“Sunny Leone”,这就是所需要的。

我现在需要在MySQL数据库上运行以下查询:

SELECT column_name FROM table_name WHERE another_column_name='$param'

有了这个,我想知道我是否需要从这个特定文件连接到数据库,或者我是否已经建立了这个连接(使用上面提到的脚本)?

另外,我不确定是否有人可以这样做,但我怎么能让它发挥作用呢?我想做上面的查询并将其存储在像$ query这样的变量中,这样我就可以在脚本的其他部分使用了。

基本上,我是否需要添加这样的内容然后进行查询,或者不一定(只是在没有连接的情况下进行查询?)?

$servername = "localhost";
$username = "user_name";
password = "password_here";
$dbname = "db_name_here";

$conn = new mysqli($servername, $username, $password, $dbname);

if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 

1 个答案:

答案 0 :(得分:0)

步骤1:确定现有系统是否使用任何常见的CMS或Framework包。如果它是像Wordpress,Joomla或Drupal这样的CMS,你可能最好将其作为CMS页面。如果它使用的是像Laravel,Symphony或Zend这样的框架,那么你可能想要使用Framework的MVC并编写一个控制器类(至少)。无论哪种方式,您将利用现有平台来减少必须编写的不必要代码的数量 - 即您不需要连接到数据库,并且您将能够使用平台的数据库对象模型,模板系统等,并且只需很少的工作就可以从网站的其他部分重新使用页面布局。

如果沿着这条路走下去,最终的解决方案将会根据系统使用的平台而变化很大;一旦你对系统有了更多的了解,你就需要得到进一步的建议(如果你需要更多的帮助,我建议在那时开始一个新的SO问题。)

如果您决定不这样做,只需编写一个简单的原始PHP页面而不引用原始平台,那么是的,您的基本代码示例是一个很好的起点。是的,您需要自己连接到数据库,如果您需要使用网站的标准主题输出页面,那么您需要从头开始重新实现。

您还没有涉及到您的实际查询代码可能是什么样的问题,但是您还应该注意安全问题,例如在查询中直接使用$_GET变量的SQL注入(甚至是只需将它们输出回用户,如下例所示。)