关于SQL语句,我们使用的SQL语句很容易在我正在工作的这家公司工作(他们都是计算机程序员,没有很多Web体验),我试图让他们和我自己去转向使用准备好的语句。我已经阅读了很多,但还是有点不清楚。例如,我们使用include(/mnt/configdb.php),然后是db_connect();在我们的PHP文件中使用SQL(而不是SQLi)通过ini文件连接到每个SQL DB。我希望使用更好的方法/语句,也许mysqli_connect(),当我们需要更改服务器和更新SQL信息(在服务器移动的情况下)时,这些方法/语句将会很灵活。任何想法最好的工作? mysqli_connect()与mysql_connect或使用函数调用连接到服务器上的ini文件,就像我已经做的那样?通过PHP文件连接到SQL DB的最佳方式?
例如,我想设置它以便创建一个connect.php文件,并且它对于每个需要访问的模式都有多个数据库连接,然后我只在必要时包含该文件和sqli语句PHP文件将所有变量发送到需要连接的SQL DB。什么是最好的方式去做这件事,或者我该如何将已经有的东西(下面)转换成sqli和准备好的陈述?我应该甚至使用SQLi?或者只是坚持SQL?
configdb服务器上:用于将数据上传到SQL数据库
function db_connect()
{
global $dblink, $dbhost, $dbuser, $dbpass, $dbname;
$dblink = @mysql_connect($dbhost, $dbuser, $dbpass) or die ('DB ERROR - Could not connect: '.mysql_error());
@mysql_select_db($dbname) or die ('DB Error - Could not select: '.mysql_error());
}
function close_db()
{
global $dblink;
@mysql_close($dblink) or die ('DB ERROR - Could not close: '.mysql_error());
}
PHP文件:
require("/mnt/library/configdb.php");
require("/mnt/library/accessdb.php");
//Connect to SQL DB
db_config_cables();
db_connect();
$unsafe_variable = $_POST['unsafe_variable'];
mysql_query("INSERT INTO tablename (column_name,...) VALUES('$unsafe_variable',...)")
/* close connection */
close_db();
“INI vs mysqli_connect”没有多大意义,因为您需要使用某种方法(如mysqli_connect)连接到数据库,而与配置的来源无关。您可以将其存储在.ini文件或YAML文件中或... – feeela 2013-05-03 18:41:37