php5中数组的动态查询结果
因此,我有一个处理查询的函数:php5中数组的动态查询结果,php,mysql,arrays,dynamic,Php,Mysql,Arrays,Dynamic,因此,我有一个处理查询的函数: function cfquery($query){ // Connection's Parameters $db_host="localhost"; $db_name="d"; $username="u"; $password="p"; $db_con=mysql_connect($db_host,$username,$password); $connection_string=mysql_select_db
function cfquery($query){
// Connection's Parameters
$db_host="localhost";
$db_name="d";
$username="u";
$password="p";
$db_con=mysql_connect($db_host,$username,$password);
$connection_string=mysql_select_db($db_name);
// Connection
mysql_connect($db_host,$username,$password);
mysql_select_db($db_name);
// Query
$sql = $query;
$results = mysql_query($sql);
return $results;
}
我试图编写一个函数,将结果放入一个数组中,但这个函数正在生成一个“资源”,我在internet上找到的所有内容都不适用于该数据类型,或者不是动态生成的,就像你必须知道列名才能访问数据一样
例如:
while ($row = mysql_fetch_array($results)){
echo $row['name'] . ',' ;
echo $row['email'] . ',' ;
echo $row['city'] . ',' ;
}
我正在寻找可以从结果中获得列名的内容。像这样:
$array = new array();
loop rows index x {
loop column_names index y {
$array[x][y] = $results[rows][column_names];
}
}
如果您不知道,我正在从ColdFusion过渡,因此我对“资源”是什么只有一个模糊的概念(在阅读了一些文档之后),也不知道为什么我不能从中获取数组。如果您可以使用MySQLi:用于获取字段元数据 可以这样访问字段名(在结果循环中): 如果您无法使用不推荐的(从5.5开始)mysql
functions:
那么您可以使用mysql\u field\u name($result,$field\u index)
以相同的方式代替,尽管它将直接以字符串而不是对象的形式返回名称
您可以在这里阅读MySQLi及其实现:mysql_*已被弃用。。。使用mysqli_*或pdo 在MySQL中
function cfquery($query)
{
$return = array();
$cn = mysql_connect("localhost","u","p") or die('connection error');
mysql_select_db("d", $cn) or die('select db error');
$results = mysql_query($query, $cn) or die(mysql_error($cn));
while ( $row = mysql_fetch_array($results) )
$return[] = $row;
mysql_free_result($results);
mysql_close($cn);
return $return;
}
不建议在新的开发中使用旧的mysql扩展,因为从PHP5.5.0开始,它就已被弃用,将来将被删除。请看您在回答中使用了不推荐使用的函数。用户使用mysql_*函数。。。我已经警告过你,你的最高评论听起来好像你没有。我要明确指出,您的示例使用不推荐使用的函数来防止混淆。
function cfquery($query)
{
$return = array();
$cn = mysql_connect("localhost","u","p") or die('connection error');
mysql_select_db("d", $cn) or die('select db error');
$results = mysql_query($query, $cn) or die(mysql_error($cn));
while ( $row = mysql_fetch_array($results) )
$return[] = $row;
mysql_free_result($results);
mysql_close($cn);
return $return;
}