2015-10-05 63 views
0

我具有与从现场从MySQL表阵列的PHP文件的问题:PHP的MySQL字符串字段转换为数字阵列

printf的后
<?php 
      require "lib/config.php"; 
      $users = array(); 
      error_reporting(0); 

      $UTB = $config['dbTableNames']['users']; 
      mysql_connect($config['dbConnection']['host'], $config['dbConnection']['user'], $config['dbConnection']['pass']); 
       mysql_select_db($config['dbConnection']['name']); 
       $GuID = mysql_query("SELECT ID, Channels FROM $UTB"); 

       if (mysql_affected_rows() == 1) { 
        while ($rGuID = mysql_fetch_array($GuID)) {   
         $uID = $rGuID['ID'];  
         $users[$uID]['channels'] = array($rGuID['Channels']); 
         printf($rGuID['Channels'] . ' '); 
        } 
       } 

结果(只用于显示的值)为:

0,1 0,1 0 0,1 0,1 0,1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 

如果我手动设置这个数组我AjaxChat网站工作正常(while循环之后),但我至少有40个用户配置是这样的:

$users[1]['channels'] = array(0, 1); 
    $users[2]['channels'] = array(0, 1); 
    $users[3]['channels'] = array(0); 
... 

Channels字段类型(在MySQL表中)为VARCHAR大小255,值为00,1

回答

0

可以简单地检查$ rGuID [“通道”]字符串的大小和基于可直接分配阵列(0)或阵列(0,1)到用户阵列中的环上