PHP静态变量问题
好的,这是我正在处理的一个函数。现在请注意,我是编程新手,这可能比我所问的有更多的错误。基本上,如何设置变量:PHP静态变量问题,php,variables,static,Php,Variables,Static,好的,这是我正在处理的一个函数。现在请注意,我是编程新手,这可能比我所问的有更多的错误。基本上,如何设置变量: ${"MySQL_Connection_" . $MySQL_Connection} 当我用不同的“模式”调用函数时使用它。我试过使用: static 但从你们所说的话来看。关于它的用途,我得到了严重的错误信息。以下是我的“真实生活”示例: 奇怪的是,我一直在这个网站上回答我自己的问题,这甚至违背了拥有这个网站的意义,但我发现了如何创建和使用更有意义的类。希望有人会说要学习课程,并
${"MySQL_Connection_" . $MySQL_Connection}
当我用不同的“模式”调用函数时使用它。我试过使用:
static
但从你们所说的话来看。关于它的用途,我得到了严重的错误信息。以下是我的“真实生活”示例:
奇怪的是,我一直在这个网站上回答我自己的问题,这甚至违背了拥有这个网站的意义,但我发现了如何创建和使用更有意义的类。希望有人会说要学习课程,并给出一个班级的例子来做到这一点。但我还是自己想出来了。再次感谢你的帮助。伟大的网站。这里的每个人都很友善,乐于助人。就像在国税局开派对一样
class DB {
/*
// Layout
// $DB1 -> Set_Connection_Pass_Info ("default");
// $DB1 -> Set_Connection_Fail_Info ("default");
// $DB1 -> Connection_Report_Short ();
// $DB1 -> Connection_Report_Long ();
// $DB1 -> Set_Query_Pass_Info ("default");
// $DB1 -> Set_Query_Fail_Info ("default");
// $DB1 -> Query_Report_Short ();
// $DB1 -> Query_Report_Long ();
include "class.php";
$DB1 = new DB;
// Connection Name - Server Name - User Name - User Password - Database Name: "null" if no Database
$DB1 -> Connect("Connection_1","localhost","root","UserMain1324!","Database_Test_1");
$Connection_1 -> Query (
"Connection_1",
"
"
);
$DB1 -> Close ("Connection_1");
*/
// ****************************************
// Static Public Variables
// ****************************************
static public $MySQL_Connection_ = array();
//DB::$MySQL_Connection_[$MySQL_Connection] =
static public $MySQL_Connection_Success_Message = "Connected Successfully or Still Connected";
//DB::$MySQL_Connection_Success_Message =
static public $MySQL_Connection_Failure_Message = "Connection Failed";
//DB::$MySQL_Connection_Failure_Message =
static public $MySQL_Connection_Status_Short = 0;
//DB::$MySQL_Connection_Status_Short =
static public $MySQL_Connection_Status_Long = "!!! MySQL: NOT CONNECTED !!!";
//DB::$MySQL_Connection_Status_Long =
static public $MySQL_Commands = "null";
//DB::$MySQL_Commands =
static public $MySQL_Query_Success_Message = "MySQL Query Success";
//DB::$MySQL_Query_Success_Message =
static public $MySQL_Query_Failure_Message = "MySQL Query Failure";
//DB::$MySQL_Query_Failure_Message =
static public $MySQL_Query_Status_Short = 0;
//DB::$MySQL_Query_Status_Short =
static public $MySQL_Query_Status_Long = "!!! CANT QUERY: QUERY EMPTY or NOT CONNECTED !!!";
//DB::$MySQL_Query_Status_Long =
// ****************************************
// Function to end connection to a database
// ****************************************
function Close (
$MySQL_Connection
)
{
DB::$MySQL_Connection_[$MySQL_Connection] = null;
// Set
DB::$MySQL_Connection_Status_Short = 0;
DB::$MySQL_Connection_Status_Long = "Was Connected: NOW DISCONNECTED !!!";
} // END Function (MySQL_Close)
// *****************************************************
// Function to set the $MySQL_Connection_Success_Message
// *****************************************************
function Set_Connection_Pass_Info ($Input_Variable){
switch ($Input_Variable) {
case "default":
DB::$MySQL_Connection_Success_Message = "Connected Successfully";
break;
default:
DB::$MySQL_Connection_Success_Message = $Input_Variable;
}
} // END function Set_MySQL_Connection_Success_Message
// *****************************************************
// Function to set the $MySQL_Connection_Failure_Message
// *****************************************************
function Set_Connection_Fail_Info ($Input_Variable){
switch ($Input_Variable) {
case "default":
DB::$MySQL_Connection_Failure_Message = "Connection Failed";
break;
default:
DB::$MySQL_Connection_Failure_Message = $Input_Variable;
}
} // END function $MySQL_Connection_Failure_Message
// ************************************
// Function to Print MySQL Status Short
// ************************************
function Connection_Report_Short ()
{
echo DB::$MySQL_Connection_Status_Short . "<br> <br>";
} // END Function (MySQL_Connection_Status_Report_Short)
// ***********************************
// Function to Print MySQL Status Long
// ***********************************
function Connection_Report_Long ()
{
echo DB::$MySQL_Connection_Status_Long . "<br> <br>";
} // END Function (MySQL_Connection_Status_Report_Long)
// ****************************************
// Function to create a general MySQL Query
// ****************************************
function Query (
$MySQL_Connection,
// MySQL Query
$MySQL_Query
)
{
// Create MySQL Query
// DB::$MySQL_Commands = $MySQL_Query;
// Create MySQL Query
try {
// Prepare statement
DB::$MySQL_Commands = DB::$MySQL_Connection_[$MySQL_Connection]->prepare($MySQL_Query);
// execute the query
DB::$MySQL_Commands->execute();
// Set
DB::$MySQL_Query_Status_Short = 1;
DB::$MySQL_Query_Status_Long = DB::$MySQL_Query_Success_Message;
// echo a message to say the UPDATE succeeded
// echo DB::$MySQL_Commands->rowCount() . " records UPDATED successfully";
}
// MySQL Query Error Handling
catch (PDOException $PDOException_Error)
{
// Set
DB::$MySQL_Query_Status_Short = 0;
DB::$MySQL_Query_Status_Long = DB::$MySQL_Query_Failure_Message . ": " . $MySQL_Query . "<br>" . $PDOException_Error->getMessage();
}
} // END Function (MySQL_Query)
// *************************************************
// Function to set the $MySQL_Query_Success_Message;
// *************************************************
function Set_Query_Pass_Info ($Input_Variable){
switch ($Input_Variable) {
case "default":
DB::$MySQL_Query_Success_Message = "MySQL Query Success";
break;
default:
DB::$MySQL_Query_Success_Message = $Input_Variable;
}
} // END function Set_MySQL_Connection_Success_Message
// *************************************************
// Function to set the $MySQL_Query_Failure_Message;
// *************************************************
function Set_Query_Fail_Info ($Input_Variable){
switch ($Input_Variable) {
case "default":
DB::$MySQL_Query_Failure_Message = "MySQL Query Failure";
break;
default:
DB::$MySQL_Query_Failure_Message = $Input_Variable;
}
} // END function $MySQL_Connection_Failure_Message
// ******************************************
// Function to Print MySQL Query Status Short
// ******************************************
function Query_Report_Short ()
{
echo DB::$MySQL_Query_Status_Short . "<br> <br>";
} // END Function (MySQL_Query_Status_Report_Long)
// *****************************************
// Function to Print MySQL Query Status Long
// *****************************************
function Query_Report_Long ()
{
echo DB::$MySQL_Query_Status_Long . "<br> <br>";
} // END Function (MySQL_Query_Status_Report_Long)
// Main function //
// ****************************
// Function to connect to MySQL
// ****************************
function Connect(
$MySQL_Connection,
$Database_Server_Name,
$Database_Server_Username,
$Database_Server_Username_Password,
$Database_Name // Set to "null" if not connecting to a database
)
{
// Create Connection
try {
// Add database portion of cononect statement if connecting to a database
if($Database_Name = "null"){
$Database_Connection_Addon = "";
} else {
$Database_Connection_Addon = ";dbname=$Database_Name";
}
// Create Connection
DB::$MySQL_Connection_[$MySQL_Connection] = new PDO("mysql:host=$Database_Server_Name" . "$Database_Connection_Addon", $Database_Server_Username, $Database_Server_Username_Password);
// Connection Attributes
DB::$MySQL_Connection_[$MySQL_Connection]->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// Set
DB::$MySQL_Connection_Status_Short = 1;
DB::$MySQL_Connection_Status_Long = DB::$MySQL_Connection_Success_Message;
}
// Connection Error Handling
catch (PDOException $PDOException_Error)
{
// Set
DB::$MySQL_Connection_Status_Short = 0;
DB::$MySQL_Connection_Status_Long = DB::$MySQL_Connection_Failure_Message . ": " . $PDOException_Error->getMessage();
}
} // END Function (MySQL_Connect)
} // END CLASS (DB)
classdb{
/*
//布局
//$DB1->Set_Connection_Pass_Info(“默认”);
//$DB1->设置连接失败信息(“默认”);
//$DB1->Connection_Report_Short();
//$DB1->Connection_Report_Long();
//$DB1->Set_Query_Pass_Info(“默认”);
//$DB1->设置查询失败信息(“默认”);
//$DB1->Query_Report_Short();
//$DB1->Query_Report_Long();
包括“class.php”;
$DB1=新数据库;
//连接名称-服务器名称-用户名-用户密码-数据库名称:如果没有数据库,则为“null”
$DB1->Connect(“Connection_1”、“localhost”、“root”、“UserMain1324!”、“Database_Test_1”);
$Connection\u 1->Query(
“连接1”,
"
"
);
$DB1->关闭(“连接1”);
*/
// ****************************************
//静态公共变量
// ****************************************
静态公共$MySQL\u连接\uu=array();
//DB::$MySQL\u连接\[$MySQL\u连接]=
静态公共$MySQL\u Connection\u Success\u Message=“已成功连接或仍在连接”;
//DB::$MySQL\u连接\u成功\u消息=
静态公共$MySQL\u连接\u失败\u消息=“连接失败”;
//DB::$MySQL\u连接\u失败\u消息=
静态公共$MySQL\u连接\u状态\u短=0;
//DB::$MySQL\u连接\u状态\u短=
静态公共$MySQL\u Connection\u Status\u Long=“!!!MySQL:未连接!!!”;
//DB::$MySQL\u连接\u状态\u长=
静态公共$MySQL\u命令=“null”;
//DB::$MySQL_命令=
静态公共$MySQL\u Query\u Success\u Message=“MySQL Query Success”;
//DB::$MySQL\u查询\u成功\u消息=
静态公共$MySQL\u Query\u Failure\u Message=“MySQL Query Failure”;
//DB::$MySQL\u查询\u失败\u消息=
静态public$MySQL\u Query\u Status\u Short=0;
//DB::$MySQL\u查询\u状态\u短=
静态公共$MySQL\u Query\u Status\u Long=“!!!无法查询:查询为空或未连接!!!”;
//DB::$MySQL\u查询\u状态\u长=
// ****************************************
//函数结束与数据库的连接
// ****************************************
功能关闭(
$MySQL\u连接
)
{
DB::$MySQL\u Connection\u[$MySQL\u Connection]=null;
//设置
DB::$MySQL\u Connection\u Status\u Short=0;
DB::$MySQL\u Connection\u Status\u Long=“已连接:现在已断开!!!”;
}//结束函数(MySQL\u Close)
// *****************************************************
//函数设置$MySQL\u Connection\u Success\u消息
// *****************************************************
函数集\连接\传递\信息($Input\变量){
开关($Input_变量){
案例“默认”:
DB::$MySQL\u Connection\u Success\u Message=“Connected Successfully”;
打破
违约:
DB::$MySQL\连接\成功\消息=$Input\变量;
}
}//结束函数集\u MySQL\u连接\u成功\u消息
// *****************************************************
//函数设置$MySQL\u连接\u失败\u消息
// *****************************************************
函数集\连接\失败\信息($Input\变量){
开关($Input_变量){
案例“默认”:
DB::$MySQL\u Connection\u Failure\u Message=“Connection Failed”;
打破
违约:
DB::$MySQL\连接\失败\消息=$Input\变量;
}
}//结束函数$MySQL\u连接\u失败\u消息
// ************************************
//用于打印MySQL状态的函数
// ************************************
功能连接\u报告\u短()
{
echo数据库::$MySQL\u连接\u状态\u短。“
”;
}//结束函数(MySQL\u连接\u状态\u报告\u短)
// ***********************************
//函数以长时间打印MySQL状态
// ***********************************
函数连接报告长()
{
echo DB::$MySQL\u连接\u状态\u长。“
”;
}//结束函数(MySQL\u连接\u状态\u报告\u长)
// ****************************************
//函数创建一个通用的MySQL查询
// ****************************************
函数查询(
$MySQL\u连接,
//MySQL查询
$MySQL\u查询
)
{
//创建MySQL查询
//DB::$MySQL\u命令=$MySQL\u查询;
//创建MySQL查询
试一试{
//准备报表
DB:$MySQL\u Commands=DB:$MySQL\u Connection\u[$MySQL\u Connection]->prepare($MySQL\u Query);
//执行查询
DB::$MySQL_命令->执行();
//设置
DB::$MySQL\u Query\u Status\u Short=1;
DB:$MySQL\u Query\u Status\u Long=DB:$MySQL\u Query\u Success\u消息;
//回显一条消息,表示更新成功
//echo DB::$MySQL_命令->行计数()“记录更新成功”;
}
//MySQL查询错误处理
捕获(PDOException$PDOException_错误)
{
//设置
DB::$MySQL\u Query\u Status\u Short=0;
DB:$MySQL\u Query\u Status\u Long=DB:$MySQL\u Query\u Failure\u Message.:“:”$MySQL\u Query
class DB {
/*
// Layout
// $DB1 -> Set_Connection_Pass_Info ("default");
// $DB1 -> Set_Connection_Fail_Info ("default");
// $DB1 -> Connection_Report_Short ();
// $DB1 -> Connection_Report_Long ();
// $DB1 -> Set_Query_Pass_Info ("default");
// $DB1 -> Set_Query_Fail_Info ("default");
// $DB1 -> Query_Report_Short ();
// $DB1 -> Query_Report_Long ();
include "class.php";
$DB1 = new DB;
// Connection Name - Server Name - User Name - User Password - Database Name: "null" if no Database
$DB1 -> Connect("Connection_1","localhost","root","UserMain1324!","Database_Test_1");
$Connection_1 -> Query (
"Connection_1",
"
"
);
$DB1 -> Close ("Connection_1");
*/
// ****************************************
// Static Public Variables
// ****************************************
static public $MySQL_Connection_ = array();
//DB::$MySQL_Connection_[$MySQL_Connection] =
static public $MySQL_Connection_Success_Message = "Connected Successfully or Still Connected";
//DB::$MySQL_Connection_Success_Message =
static public $MySQL_Connection_Failure_Message = "Connection Failed";
//DB::$MySQL_Connection_Failure_Message =
static public $MySQL_Connection_Status_Short = 0;
//DB::$MySQL_Connection_Status_Short =
static public $MySQL_Connection_Status_Long = "!!! MySQL: NOT CONNECTED !!!";
//DB::$MySQL_Connection_Status_Long =
static public $MySQL_Commands = "null";
//DB::$MySQL_Commands =
static public $MySQL_Query_Success_Message = "MySQL Query Success";
//DB::$MySQL_Query_Success_Message =
static public $MySQL_Query_Failure_Message = "MySQL Query Failure";
//DB::$MySQL_Query_Failure_Message =
static public $MySQL_Query_Status_Short = 0;
//DB::$MySQL_Query_Status_Short =
static public $MySQL_Query_Status_Long = "!!! CANT QUERY: QUERY EMPTY or NOT CONNECTED !!!";
//DB::$MySQL_Query_Status_Long =
// ****************************************
// Function to end connection to a database
// ****************************************
function Close (
$MySQL_Connection
)
{
DB::$MySQL_Connection_[$MySQL_Connection] = null;
// Set
DB::$MySQL_Connection_Status_Short = 0;
DB::$MySQL_Connection_Status_Long = "Was Connected: NOW DISCONNECTED !!!";
} // END Function (MySQL_Close)
// *****************************************************
// Function to set the $MySQL_Connection_Success_Message
// *****************************************************
function Set_Connection_Pass_Info ($Input_Variable){
switch ($Input_Variable) {
case "default":
DB::$MySQL_Connection_Success_Message = "Connected Successfully";
break;
default:
DB::$MySQL_Connection_Success_Message = $Input_Variable;
}
} // END function Set_MySQL_Connection_Success_Message
// *****************************************************
// Function to set the $MySQL_Connection_Failure_Message
// *****************************************************
function Set_Connection_Fail_Info ($Input_Variable){
switch ($Input_Variable) {
case "default":
DB::$MySQL_Connection_Failure_Message = "Connection Failed";
break;
default:
DB::$MySQL_Connection_Failure_Message = $Input_Variable;
}
} // END function $MySQL_Connection_Failure_Message
// ************************************
// Function to Print MySQL Status Short
// ************************************
function Connection_Report_Short ()
{
echo DB::$MySQL_Connection_Status_Short . "<br> <br>";
} // END Function (MySQL_Connection_Status_Report_Short)
// ***********************************
// Function to Print MySQL Status Long
// ***********************************
function Connection_Report_Long ()
{
echo DB::$MySQL_Connection_Status_Long . "<br> <br>";
} // END Function (MySQL_Connection_Status_Report_Long)
// ****************************************
// Function to create a general MySQL Query
// ****************************************
function Query (
$MySQL_Connection,
// MySQL Query
$MySQL_Query
)
{
// Create MySQL Query
// DB::$MySQL_Commands = $MySQL_Query;
// Create MySQL Query
try {
// Prepare statement
DB::$MySQL_Commands = DB::$MySQL_Connection_[$MySQL_Connection]->prepare($MySQL_Query);
// execute the query
DB::$MySQL_Commands->execute();
// Set
DB::$MySQL_Query_Status_Short = 1;
DB::$MySQL_Query_Status_Long = DB::$MySQL_Query_Success_Message;
// echo a message to say the UPDATE succeeded
// echo DB::$MySQL_Commands->rowCount() . " records UPDATED successfully";
}
// MySQL Query Error Handling
catch (PDOException $PDOException_Error)
{
// Set
DB::$MySQL_Query_Status_Short = 0;
DB::$MySQL_Query_Status_Long = DB::$MySQL_Query_Failure_Message . ": " . $MySQL_Query . "<br>" . $PDOException_Error->getMessage();
}
} // END Function (MySQL_Query)
// *************************************************
// Function to set the $MySQL_Query_Success_Message;
// *************************************************
function Set_Query_Pass_Info ($Input_Variable){
switch ($Input_Variable) {
case "default":
DB::$MySQL_Query_Success_Message = "MySQL Query Success";
break;
default:
DB::$MySQL_Query_Success_Message = $Input_Variable;
}
} // END function Set_MySQL_Connection_Success_Message
// *************************************************
// Function to set the $MySQL_Query_Failure_Message;
// *************************************************
function Set_Query_Fail_Info ($Input_Variable){
switch ($Input_Variable) {
case "default":
DB::$MySQL_Query_Failure_Message = "MySQL Query Failure";
break;
default:
DB::$MySQL_Query_Failure_Message = $Input_Variable;
}
} // END function $MySQL_Connection_Failure_Message
// ******************************************
// Function to Print MySQL Query Status Short
// ******************************************
function Query_Report_Short ()
{
echo DB::$MySQL_Query_Status_Short . "<br> <br>";
} // END Function (MySQL_Query_Status_Report_Long)
// *****************************************
// Function to Print MySQL Query Status Long
// *****************************************
function Query_Report_Long ()
{
echo DB::$MySQL_Query_Status_Long . "<br> <br>";
} // END Function (MySQL_Query_Status_Report_Long)
// Main function //
// ****************************
// Function to connect to MySQL
// ****************************
function Connect(
$MySQL_Connection,
$Database_Server_Name,
$Database_Server_Username,
$Database_Server_Username_Password,
$Database_Name // Set to "null" if not connecting to a database
)
{
// Create Connection
try {
// Add database portion of cononect statement if connecting to a database
if($Database_Name = "null"){
$Database_Connection_Addon = "";
} else {
$Database_Connection_Addon = ";dbname=$Database_Name";
}
// Create Connection
DB::$MySQL_Connection_[$MySQL_Connection] = new PDO("mysql:host=$Database_Server_Name" . "$Database_Connection_Addon", $Database_Server_Username, $Database_Server_Username_Password);
// Connection Attributes
DB::$MySQL_Connection_[$MySQL_Connection]->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// Set
DB::$MySQL_Connection_Status_Short = 1;
DB::$MySQL_Connection_Status_Long = DB::$MySQL_Connection_Success_Message;
}
// Connection Error Handling
catch (PDOException $PDOException_Error)
{
// Set
DB::$MySQL_Connection_Status_Short = 0;
DB::$MySQL_Connection_Status_Long = DB::$MySQL_Connection_Failure_Message . ": " . $PDOException_Error->getMessage();
}
} // END Function (MySQL_Connect)
} // END CLASS (DB)