PHP数组\u将相同的值放入数组?
我正在尝试为MySQLi创建自己的“数据库”类,它是与数据库进行通信的经典类,因此我可以在我的web应用程序中执行(例如) 因此我编写了函数(这是查询中没有参数的部分)PHP数组\u将相同的值放入数组?,php,mysql,arrays,mysqli,array-push,Php,Mysql,Arrays,Mysqli,Array Push,我正在尝试为MySQLi创建自己的“数据库”类,它是与数据库进行通信的经典类,因此我可以在我的web应用程序中执行(例如) 因此我编写了函数(这是查询中没有参数的部分) 公共函数选择($link、$query、$types、$arrayValue) { $set=array();//这是函数将返回的内容 美元对账单; 如果($types==null&&$arrayValues==null) { $statement=$link->prepare($query); 如果($statement->e
公共函数选择($link、$query、$types、$arrayValue)
{
$set=array();//这是函数将返回的内容
美元对账单;
如果($types==null&&$arrayValues==null)
{
$statement=$link->prepare($query);
如果($statement->execute())
{
$statement->store_result();
$meta=$statement->result_metadata();
$fileds=array();
$results=array();
//将call\u user\u func\u数组的确切变量数放入数组中
而($field=$meta->fetch_field())
{
$var=$field->name;
$$var=null;
$fields[$var]=&$$var;
}
$fieldCount=$statement->field\u count;
调用_user_func_数组(数组($statement,'bind_result'),$fields);
while($statement->fetch())
{
$set[]=$fields;
}
回声';
打印(套);
回声';
}
}
其他的
{
函数的一部分,其中查询中有参数
}
返回$set;
}
现在的问题是$set(必须返回)是一个数组,但数组的所有值都是相同的:我用查询提取的最后一条记录。为什么?我快发疯了。是否
$statement->fetch()
甚至可以提取多行?$set[]=$value代码>-什么是$value
。。。?在显示的代码中没有出现。@rndus2r是的,查询返回了两行。为了更好,可以使用get_result()或-better-使用PDO而不是mysqli。$statement->fetch()
甚至可以获取多行吗?$set[]=$value代码>-什么是$value
。。。?在显示的代码中没有出现。@rndus2r是的,查询返回了两行。为了更好地使用get_result()或-better-使用PDO而不是mysqli。
$user = $database->select($connection, "SELECT * FROM user");
public function select($link, $query, $types, $arrayValues)
{
$set = array(); //this is what the function will return
$statement;
if($types == null && $arrayValues == null)
{
$statement = $link->prepare($query);
if($statement->execute())
{
$statement->store_result();
$meta = $statement->result_metadata();
$fileds = array();
$results = array();
//put into the array the exact number of variables for call_user_func_array
while($field = $meta->fetch_field())
{
$var = $field->name;
$$var = null;
$fields[$var] = &$$var;
}
$fieldCount = $statement->field_count;
call_user_func_array(array($statement,'bind_result'),$fields);
while($statement->fetch())
{
$set[] = $fields;
}
echo '<pre>';
print_r($set);
echo '</pre>';
}
}
else
{
part of the function where there are parameters in the query
}
return $set;
}