我正在从MYSQL转换到MYSQLI,我需要帮助将MYSQLI放入单独/不同的函数中.
从我在网上找到的所有"教程"中,它们都有一个很长的代码,而不是我的主要脚本可以调用的独特/单独的函数.
例如: -
我所追求的是: -
<?
function connect_mysqli()
{
$con=mysqli_connect("localhost","wrong_user","my_password","my_db");
// Check connection
if (!$con)
{
die("Connection error: " . mysqli_connect_errno();
}
// Return the connection back to where i called it ??
}
function do_query ($sql)
{
$row = $con->query("$sql")->fetch_array();
return $row;
}
function close_mysqli()
{
$mysqli->close();
}
?>
Run Code Online (Sandbox Code Playgroud)
在我的脚本中我想打电话: -
another.php
<?
include_once("MYSQLI.PHP");
connect_mysqli();
....
do some SELECT
do some UPDATE
close_mysqli();
?>
Run Code Online (Sandbox Code Playgroud)
到目前为止,从我收到的错误代码,到mysqli的"连接"没有被传递到我的其他脚本/从我的其他脚本传递
有没有人使用函数(不仅仅是代码的一半)得到mysqli的工作/测试示例 - 而是一个简单SELECT的工作示例
一旦我走到那一步,我可以做其余的事情.
修复您的包含文件
/**
* @return mysqli
*/
function connect_mysqli()
{
$con = mysqli_connect("localhost","wrong_user","my_password","my_db");
// Check connection
if (!$con)
{
die("Connection error: " . mysqli_connect_errno());
}
return $con;
}
function do_query ($con, $sql)
{
$row = $con->query("$sql");
if($row) {
return $row->fetch_array();
}
return null;
}
function close_mysqli($con)
{
$con->close();
}
Run Code Online (Sandbox Code Playgroud)
现在你可以运行这样的脚本了
include_once("MYSQLI.PHP");
$connection = connect_mysqli();
if(null !== $connection) {
print_r(do_query($connection, "SELECT * FROM yourTable"));
close_mysqli($connection);
}
Run Code Online (Sandbox Code Playgroud)
但为了正确处理,请创建一个连接接口和mysqli的实现
interface myConnectionClass {
function connect();
....
}
Run Code Online (Sandbox Code Playgroud)
和一个mysqli实现
class myMysqlIConnection implements myConnectionClass {
function connect() {
//do more... save connection etc...
return true; //sucess
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
257 次 |
| 最近记录: |