yatmingtsai 2015-06-09 14:55 采纳率: 77.8%
浏览 2329
已采纳

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


//连接数据库
$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 2015-06-09 15:01
    关注

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 MATLAB怎么通过柱坐标变换画开口是圆形的旋转抛物面?
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题
  • ¥15 Visual Studio问题
  • ¥20 求一个html代码,有偿