我正在处理脚本的入口页面,该脚本需要查询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);
}
答案 0 :(得分:0)
步骤1:确定现有系统是否使用任何常见的CMS或Framework包。如果它是像Wordpress,Joomla或Drupal这样的CMS,你可能最好将其作为CMS页面。如果它使用的是像Laravel,Symphony或Zend这样的框架,那么你可能想要使用Framework的MVC并编写一个控制器类(至少)。无论哪种方式,您将利用现有平台来减少必须编写的不必要代码的数量 - 即您不需要连接到数据库,并且您将能够使用平台的数据库对象模型,模板系统等,并且只需很少的工作就可以从网站的其他部分重新使用页面布局。
如果沿着这条路走下去,最终的解决方案将会根据系统使用的平台而变化很大;一旦你对系统有了更多的了解,你就需要得到进一步的建议(如果你需要更多的帮助,我建议在那时开始一个新的SO问题。)
如果您决定不这样做,只需编写一个简单的原始PHP页面而不引用原始平台,那么是的,您的基本代码示例是一个很好的起点。是的,您需要自己连接到数据库,如果您需要使用网站的标准主题输出页面,那么您需要从头开始重新实现。
您还没有涉及到您的实际查询代码可能是什么样的问题,但是您还应该注意安全问题,例如在查询中直接使用$_GET
变量的SQL注入(甚至是只需将它们输出回用户,如下例所示。)