Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何使用函数连接到数据库以及如何处理查询?_Php_Mysql_Mysqli_Database Connection_User Defined Functions - Fatal编程技术网

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);
?>