Php 如何使用函数连接到数据库以及如何处理查询?
我正在使用函数处理数据库。。现在,我定义函数的方式如下:-Php 如何使用函数连接到数据库以及如何处理查询?,php,mysql,mysqli,database-connection,user-defined-functions,Php,Mysql,Mysqli,Database Connection,User Defined Functions,我正在使用函数处理数据库。。现在,我定义函数的方式如下:- /** * Database definations */ define ('db_type', 'MYSQL'); define ('db_host', 'localhost'); define ('db_port', '3306'); define ('db_name', 'database'); define ('db_user', 'root'); define ('db_pass', 'password'); define
/**
* Database definations
*/
define ('db_type', 'MYSQL');
define ('db_host', 'localhost');
define ('db_port', '3306');
define ('db_name', 'database');
define ('db_user', 'root');
define ('db_pass', 'password');
define ('db_table_prefix', '');
现在我想知道这是否是一个好办法 另外,在使用数据库连接时
$host = db_host
可以吗?其次,我如何使用这些函数,这些代码都在我的函数中。php数据库定义和数据库连接。。。这会对我有帮助吗
使用这些功能,我将如何连接到数据库和使用查询功能。。。如何执行查询
非常重要:我如何将mysql添加到mysqli中,只需在mysql中添加一个“i”即可……比如:-
@mysql_connect
使用全局常量,可以在函数中直接使用它们。所以在这种情况下,
/**
* Database Connect
*/
function db_connect() {
if(!$db = @mysql_connect(db_host . ':' . db_port, db_user, db_pass)) {
return FALSE;
}
if((strlen(db_name) > 0) AND (!@mysql_select_db(db_name, $db))) {
return FALSE;
}
// set the correct charset encoding
mysql_query('SET NAMES \'utf8\'');
mysql_query('SET CHARACTER_SET \'utf8\'');
return $db;
}
下面是如何实现客户机代码:
<?php
if(!$conn = db_connect()) {
die('cant connect to mysql');
}
$rs = db_query('SELECT * FROM tableA', $conn);
/* loop through the resultset */
db_close ($conn);
?>
关于将mysql转换为mysqli,不,可能不是那么简单;仅仅添加一个“i”可能不起作用。MySQLi有不同的语法。首先,端口显式地传递给connect方法,而不是像上面那样附加到主机。请仔细阅读
你也应该考虑使用Simone Vittori所建议的PDO库。
ReMySQL -mymyLi:最好查看手册中的例子。Pekk-OOP是@ AbhilashShukla的mymyLyLink连接,你有什么问题?您的意思是说您编写了上述函数,但不知道如何使用它们?奇怪的这里有一些可能会有帮助的教程:你能告诉我我能把@mysql
转换成@mysqli
。。。在php手册中找不到它…当然,您可以将mysql转换为mysqli,但转换可能不是那么直接。我还建议使用MySQLi的对象样式,而不是过程样式。我在回答中给出了一个链接,@
(stfu操作员)不是必需的。检查DB名称的长度是一种相当少见的检查。可以在初始连接调用中设置DB名称。
@mysql_connect
@mysqli_connect
/**
* Database Connect
*/
function db_connect() {
if(!$db = @mysql_connect(db_host . ':' . db_port, db_user, db_pass)) {
return FALSE;
}
if((strlen(db_name) > 0) AND (!@mysql_select_db(db_name, $db))) {
return FALSE;
}
// set the correct charset encoding
mysql_query('SET NAMES \'utf8\'');
mysql_query('SET CHARACTER_SET \'utf8\'');
return $db;
}
<?php
if(!$conn = db_connect()) {
die('cant connect to mysql');
}
$rs = db_query('SELECT * FROM tableA', $conn);
/* loop through the resultset */
db_close ($conn);
?>