我有一个php函数,可以在表格为fulfield的情况下与表格进行交互并获取列中的所有字段。因此该函数返回一组元素。 问题是我希望这个函数返回一个我可以解析和显示的数组。 以下代码:
function get_approved_pictures(){
$con = mysql_connect("localhost","valentinesapp","fBsKAd8RXrfQvBcn");
if (!$con)
{
echo 'eroare de conexiune';
die('Could not connect: ' . mysql_error());
}
mysql_select_db("mynameisbrand_valentineapp", $con);
$all = (mysql_query("SELECT picture FROM users WHERE approved = 1"));
$row=mysql_fetch_assoc($all);
// mysql_close($con);
return $row['picture'];
}
我哪里错了?
答案 0 :(得分:3)
您需要使用循环遍历查询提取的所有数据:
$pictures=array();
while($row=mysql_fetch_assoc($all))
{
$pictures[]=$row['picture'];
}
return $pictures;
答案 1 :(得分:0)
这样做
$all = mysql_query("SELECT picture FROM users WHERE approved = 1");
$arr = array(); // Array to hold the datas
while($row = mysql_fetch_array($all)) {
$data = $row['picture'];
array_push($arr,$data);
}
return $arr;
您现在可以将其插入到函数中并返回值。
注意:正在折旧mysql_ *函数。尽量避免它们。
答案 2 :(得分:-1)
为了多样性并让您了解如何使用PDO而不是弃用mysql_*
,这就是您的功能可能如下所示:
function get_approved_pictures(){
$db = new PDO('mysql:host=localhost;dbname=mynameisbrand_valentineapp;charset=UTF-8',
'valentinesapp', 'password');
$query = $db->prepare("SELECT picture FROM users WHERE approved = 1");
$query->execute();
$pictures = $query->fetchAll(PDO::FETCH_ASSOC);
$db = null;
return $pictures;
}
免责声明:为简洁而故意省略所有错误处理
答案 3 :(得分:-1)
为了多样性并让你对事物的方式有所了解而不是不方便和冗长的PDO,这就是你的功能可能如下:
function get_approved_pictures(){
global $db;
return $db->getCol("SELECT picture FROM users WHERE approved = 1");
}
免责声明:所有错误处理都已启动并正在运行,但故意将其封装到隐私的私有方法中。