2 u014666034 u014666034 于 2015.06.09 22:55 提问

每次查询都得连接一次数据库,否则不继续执行的问题。

//连接数据库
$pdo = new PDO("mysql:host=$db_host; dbname=$db_name", $db_username, $db_password); 
$pdo->query('SET NAMES utf8');
//导入活动信息
$sql = "SELECT * FROM activity WHERE a_id = '$activity_id'";
$rs = $pdo->query($sql);
while($row = $rs->fetch()){
    $activity_uno=$row['u_no'];
    $activity_name=$row['a_name'];
}
//导入用户信息
$sql = "SELECT * FROM user WHERE No = '$activity_uno'";
$rs = $pdo->query($sql);
while($row = $rs->fetch()){
    $activity_usernick=$row['Nickname'];
    $activity_uservtype=$row['vtype'];
    $activity_userverify=$row['verify'];
}

在本机上(WAMP环境)这样写的代码,运行结果是正常的,一次连接就可以多次查询。但是传到服务器上(LAMP),每次查询前都要连接一次数据库,否则就不会继续查询。
在服务器上改成这样才能正常:

 //连接数据库
$pdo = new PDO("mysql:host=$db_host; dbname=$db_name", $db_username, $db_password); 
$pdo->query('SET NAMES utf8');
//导入活动信息
$sql = "SELECT * FROM activity WHERE a_id = '$activity_id'";
$rs = $pdo->query($sql);
while($row = $rs->fetch()){
    $activity_uno=$row['u_no'];
    $activity_name=$row['a_name'];
}
//连接数据库
$pdo = new PDO("mysql:host=$db_host; dbname=$db_name", $db_username, $db_password); 
$pdo->query('SET NAMES utf8');
//导入用户信息
$sql = "SELECT * FROM user WHERE No = '$activity_uno'";
$rs = $pdo->query($sql);
while($row = $rs->fetch()){
    $activity_usernick=$row['Nickname'];
    $activity_uservtype=$row['vtype'];
    $activity_userverify=$row['verify'];
}

请问问题出在哪里?如何才能像本机上测试那样一次连接多次查询?

5个回答

frank_20080215
frank_20080215   2015.06.09 23:01
已采纳

服务器(LAMP)建立一个连接池

devmiao
devmiao   Ds   Rxr 2015.06.09 23:17

修改apache的进程池的存活时间看看

u012377333
u012377333   Rxr 2015.06.10 19:20

看看是不是有设置不一样的地方

Bruce_why
Bruce_why   2015.06.10 22:38

PDO提供了两个获得程序中的错误信息的方法,一个是errorCode()方法;另一个是errorInfo()方法,打印错误信息吧

lxmsupper
lxmsupper   2015.06.12 14:14

服务器(LAMP)建立一个连接池,修改apache的进程池的存活时间看看

Csdn user default icon
上传中...
上传图片
插入图片