使$dbh1(数据库句柄)可用于所有php文件
我无法将$dbh1用于所有需要它进行查询的php文件。我尝试在这个文件中使用“global$dbh1”来运行查询 我有4个文件:testswitchDB3.php(main)、testconnect.php、login.php和testnumcards.php 一旦连接数据库,就可以运行login.php和testconnect.php。 两个文件都在工作 因此,通过将“全局$dbh1”应用于testnumcards.php,可以创建并使用$dbh1 但它不起作用。以下是我的代码 testswitchDB3.php使$dbh1(数据库句柄)可用于所有php文件,php,mysql,pdo,dojo,Php,Mysql,Pdo,Dojo,我无法将$dbh1用于所有需要它进行查询的php文件。我尝试在这个文件中使用“global$dbh1”来运行查询 我有4个文件:testswitchDB3.php(main)、testconnect.php、login.php和testnumcards.php 一旦连接数据库,就可以运行login.php和testconnect.php。 两个文件都在工作 因此,通过将“全局$dbh1”应用于testnumcards.php,可以创建并使用$dbh1 但它不起作用。以下是我的代码 testswi
使用按钮测试数据库之间的切换响应
html,正文
{
宽度:100%;
身高:100%;
保证金:5px;
填充:0px;
溢出:隐藏;/*无滚动条*/
}
var dojoConfig=
{
parseOnLoad:true,
是的,
async:true//
地点:“en-us”//
};
require([“dojo/parser”、“dijit/layout/BorderContainer”、“dijit/form/Button”,
“dojo/on”、“dijit/form/Select”、“dojo/store/Memory”、“dojo/request”,
“dojo/dom”、“dojo/dom构造”、“dojo/domReady!”],
函数(解析器、边界容器、按钮、打开、选择、内存、请求、dom、,
DOM(构造)
{var commonDB=“nameless”函数连接(commonDB)
{request.post(“testconnect.php”,
{数据:{nameDB:commonDB}
//,handleAs:“json”//不使用“handleAs:json”,因为它只需要
确认与否
}).那么
(功能(连接)
{console.debug(“数据读取为:”,connect);
if(connect)//如login.php所示为true或false
{警报(“成功登录并连接”);
交换机(commonDB)
{
案例“testdata2060\u 03”:
btn4.set('disabled',false);
btn5.设置('禁用',为真);
btn6.set('disabled',true);
btn7.set('disabled',false);
btn8.set('disabled',true);
btn9.set('disabled',true);
打破
案例“testdata1970_11”:
btn4.set('disabled',true);
btn5.set('disabled',false);
btn6.set('disabled',true);
btn7.set('禁用',真);
btn8.set('disabled',false);
btn9.set('disabled',true);
打破
案例“testdata1970\u 05”:
btn4.set('disabled',true);
btn5.设置('禁用',为真);
btn6.set('disabled',false);
btn7.set('禁用',真);
btn8.set('disabled',true);
btn9.set('disabled',false);
打破
}}
其他的
警报(“尝试登录和连接未成功”);
},
(
函数(错误)
{
警报(“测试错误:+错误”);
调试(错误);
}
);
}
功能卡(commonDB)
{request.post(“testnumcards.php”,
{
//{数据:{xxx:yyy},
handleAs:“json”
}).那么
(功能(响应)
{警报(“+commonDB+”的不同CATD数为“+response”);
dom.byId(“statement”).innerHTML=“用于
“+commonDB+”是“+响应;
},
函数(错误)
{警报(“测试错误:+错误”);
调试(错误);
}
)}
/*
功能测试()
{
}
*/
var btn1=新按钮//按钮,非按钮
({标签:“testdata2060_03”,
onClick:function()
{
日志(“控制台日志:按钮1已被点击”);
连接('testdata2060_03');
}
}“btn1”);
btn1.startup();
var btn2=新按钮
({标签:“testdata1970_11”
},“btn2”);
btn2.startup();
var btn3=新按钮
({标签:“testdata1970_05”
},“btn3”);
btn3.startup();
var btn4=新按钮//按钮,非按钮
({标签:“卡片数量”,
残疾人士:对
},“btn4”);
btn4.startup();
var btn5=新按钮
({标签:“卡片数量”,
残疾人士:对
},“btn5”);
btn5.startup();
var btn6=新按钮
({标签:“卡片数量”,
残疾人士:对
},“btn6”);
btn6.startup();
var btn7=新按钮//按钮,非按钮
({标签:“测试次数”,
残疾人士:对
},“btn7”);
btn7.startup();
var btn8=新按钮
({标签:“测试次数”,
残疾人士:对
},“btn8”);
btn8.startup();
var btn9=新按钮
({标签:“测试次数”,
残疾人士:对
},“btn9”);
btn9.startup();
/*打开(btn1,'单击',函数()
{console.log(“已单击控制台日志:按钮1”);
连接('testdata2060_03');
});
*/
打开(btn2,'单击',函数()
{console.log(“已单击控制台日志:按钮2”);
连接('testdata1970_11');
});
打开(btn3,'单击',函数()
{console.log(“已单击控制台日志:按钮3”);
连接('testdata1970_05');
});
打开(btn4,'单击',函数()
{console.log(“已单击控制台日志:按钮4”);
卡片();
});
打开(btn5,'单击',函数()
{console.log(“已单击控制台日志:按钮5”);
test();
});
打开(btn6,'单击',函数()
{console.log(“已单击控制台日志:按钮6”);
卡片();
});
打开(btn7,'单击',函数()
{console.log(“已单击控制台日志:按钮7”);
test();
});
打开(btn8,'单击',函数()
{console.log(“已单击控制台日志:按钮8”);
卡片();
});
打开(btn9,'单击',函数()
{console.log(“控制台日志:Button9
<!DOCTYPE html>
<html>
<head>
<title>Test the switching responses between databases using buttons</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="stylesheet" href="../dojo1_8/dijit/themes/soria/soria.css"/>
<link rel="stylesheet" href="../common.css"/>
<style type="text/css">
html, body
{
width: 100%;
height: 100%;
margin: 5px;
padding: 0px;
overflow: hidden; /* No Scrollbar */
}
</style>
<script>
var dojoConfig =
{
parseOnLoad: true,
isDebug: true,
async: true,//
locale : "en-us"//
};
</script>
<script src='../dojo1_8/dojo/dojo.js'></script>
</head>
<body class="soria">
<div id="main_bContainer" data-dojo-type="dijit.layout.BorderContainer" data-dojo-props="design:'sidebar'">
<div id="cp_Center" data-dojo-type="dijit/layout/ContentPane" data-dojo-props="region:'center'">
<table>
<tr>
<td>
<div id=btn1></div><!--for testdata2060_03-->
</td>
<td>
<div id=btn2></div><!--for testdata2060_10-->
</td>
<td>
<div id=btn3></div><!--for testdata2060_05-->
</td>
</tr>
<tr>
<td>
<div id=btn4></div><!--for testdata2060_03-->
</td>
<td>
<div id=btn5></div><!--for testdata2060_10-->
</td>
<td>
<div id=btn6></div><!--for testdata2060_05-->
</td>
</tr>
<tr>
<td>
<div id=btn7></div><!--for testdata2060_03-->
</td>
<td>
<div id=btn8></div><!--for testdata2060_10-->
</td>
<td>
<div id=btn9></div><!--for testdata2060_05-->
</td>
</tr>
</table>
<div id=statement></div>
</div><!--cp_Center-->
</div><!--main_bContainer-->
<script>
require(["dojo/parser", "dijit/layout/BorderContainer", "dijit/form/Button",
"dojo/on", "dijit/form/Select", "dojo/store/Memory", "dojo/request",
"dojo/dom", "dojo/dom-construct", "dojo/domReady!"],
function(parser, BorderContainer, Button, on, Select, Memory, request, dom,
domConstruct)
{var commonDB = "nameless"; function connect(commonDB)
{request.post("testconnect.php",
{data:{nameDB : commonDB}
//,handleAs:"json"//without the use of "handleAs:JSON" as it needs only
confirnation or not
}).then
(function(connect)
{console.debug("data read as: ", connect);
if(connect)//as true or false as indicated in login.php
{alert("Successfully login and connected");
switch(commonDB)
{
case 'testdata2060_03':
btn4.set('disabled', false);
btn5.set('disabled', true);
btn6.set('disabled', true);
btn7.set('disabled', false);
btn8.set('disabled', true);
btn9.set('disabled', true);
break;
case 'testdata1970_11':
btn4.set('disabled', true);
btn5.set('disabled', false);
btn6.set('disabled', true);
btn7.set('disabled', true);
btn8.set('disabled', false);
btn9.set('disabled', true);
break;
case 'testdata1970_05':
btn4.set('disabled', true);
btn5.set('disabled', true);
btn6.set('disabled', false);
btn7.set('disabled', true);
btn8.set('disabled', true);
btn9.set('disabled', false);
break;
}}
else
alert("Attempt to login and connect is NOT successful");
},
(
function(error)
{
alert("Test's Error:"+error);
console.debug(error);
}
);
}
function card(commonDB)
{request.post("testnumcards.php",
{
//{data:{xxx:yyy},
handleAs: "json"
}).then
(function(response)
{alert("The number of the distinct catds for "+commonDB+" is "+response);
dom.byId("statement").innerHTML = "The number of the distinct catds for
"+commonDB+" is "+response;
},
function(error)
{alert("Test's Error:"+error);
console.debug(error);
}
)}
/*
function test()
{
}
*/
var btn1 = new Button // Button, not button
({ label: "testdata2060_03",
onClick: function()
{
console.log("Console Log: Button1 has been clicked.");
connect('testdata2060_03');
}
},"btn1");
btn1.startup();
var btn2 = new Button
({label: "testdata1970_11"
},"btn2");
btn2.startup();
var btn3 = new Button
({label: "testdata1970_05"
},"btn3");
btn3.startup();
var btn4 = new Button // Button, not button
({label: "Number of cards",
disabled: true
},"btn4");
btn4.startup();
var btn5 = new Button
({label: "Number of cards",
disabled: true
},"btn5");
btn5.startup();
var btn6 = new Button
({label: "Number of cards",
disabled: true
},"btn6");
btn6.startup();
var btn7 = new Button // Button, not button
({label: "Number of tests",
disabled: true
},"btn7");
btn7.startup();
var btn8 = new Button
({label: "Number of tests",
disabled: true
},"btn8");
btn8.startup();
var btn9 = new Button
({label: "Number of tests",
disabled: true
},"btn9");
btn9.startup();
/*on(btn1, 'click', function()
{console.log("Console Log: Button1 has been clicked.");
connect('testdata2060_03');
});
*/
on(btn2, 'click', function()
{console.log("Console Log: Button2 has been clicked.");
connect('testdata1970_11');
});
on(btn3, 'click', function()
{console.log("Console Log: Button3 has been clicked.");
connect('testdata1970_05');
});
on(btn4, 'click', function()
{console.log ("Console Log: Button4 has been clicked.");
card();
});
on(btn5, 'click', function()
{console.log("Console Log: Button5 has been clicked.");
test();
});
on(btn6, 'click', function()
{console.log("Console Log: Button6 has been clicked.");
card();
});
on(btn7, 'click', function()
{console.log("Console Log: Button7 has been clicked.");
test();
});
on(btn8, 'click', function()
{console.log("Console Log: Button8 has been clicked.");
card();
});
on(btn9, 'click', function()
{console.log("Console Log: Button9 has been clicked.");
test();
});
});
</script>
</body>
<?php
global $dbh1;
$dbname = $_POST['nameDB'];
require_once '../scripts/login.php';
echo $connect;
?>
<?php
global $dbname;
global $dbh1;
$dbh1 = null;
$dsn ="mysql:host=localhost; dbname=$dbname";
$user ='root';
$pswd ='';
try
{
$dbh1 = new PDO($dsn, $user, $pswd, array(PDO::ATTR_TIMEOUT => "10",// 10 seconds
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION)); // connect to DB, declared as global variable!
$connect = TRUE;
}
catch(PDOException $err)
{
$alertmsg = $err->getMessage();
$connect = FALSE;
}
echo $connect;
?>
<?php
global $dbh1;
$stmt = $dbh1->prepare("select count(distinct mfg_code)as mfg_code from test");
try
{
$stmt->execute();
}
catch(PDOException $err)
{
$alertmsg = $err->getMessage();
}
$num = $stmt->fetch(PDO::FETCH_ASSOC);
echo $num['mfg_code'];
?>
<?php
require("login.php");