我有一个问题,在一个PHP文件从一个字段从MySQL表数组:
<?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'] . ' ');
}
}
printf(仅用于显示值)之后的结果是:
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
如果我手动设置这个数组(while循环后)我的AjaxChat网站工作正常,但我至少有40个用户这样配置:
$users[1]['channels'] = array(0, 1);
$users[2]['channels'] = array(0, 1);
$users[3]['channels'] = array(0);
...
Channels
字段类型(在MySQL表中)为VARCHAR大小255,值为0
或0,1
。
您可以简单地检查$rGuID['channels'] string的大小,并在此基础上直接将array(0)或array(0,1)分配给循环中的用户数组