Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php从单个列获取多个值_Php_Mysql_Sql_Pdo - Fatal编程技术网

Php从单个列获取多个值

Php从单个列获取多个值,php,mysql,sql,pdo,Php,Mysql,Sql,Pdo,我有一个包含许多列的mySql表: 我有一列“Tete”和一个数组列表 我想进行一次查询以获取此字段中的所有值,可以这样想: $reponse = $bdd->query("SELECT * FROM parfums WHERE id='{$id}'"); while($rs=mysql_fetch_assoc($reponse)) { $array= unserialize($rs['Coeur']); print_r($array); } 福 酒吧 你好 世界

我有一个包含许多列的mySql表:

我有一列“Tete”和一个数组列表

我想进行一次查询以获取此字段中的所有值,可以这样想:

$reponse = $bdd->query("SELECT * FROM parfums WHERE  id='{$id}'");
while($rs=mysql_fetch_assoc($reponse))
{
   $array= unserialize($rs['Coeur']);
    print_r($array);
}
  • 酒吧
  • 你好
  • 世界
我使用PDO连接:

$bdd = new PDO('mysql:host=localhost;dbname=perfume', 'perfume', '', array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
然后获取我所有的信息:

<?php $reponse = $bdd->query("SELECT * FROM parfums WHERE id='{$id}'"); 
 while ($donnees = $reponse->fetch()){
<p>"<?php echo $donnees['Description']; ?>
}

但它不起作用

tete
列的确切数据类型是什么?我假设是字符串类型。如果是这样,您需要使用一些PHP代码来分离这些值。您可以使用PHP函数将它们全部拆分为一个值数组。
unserialize
仅在您
序列化进入的数据时才起作用。PHP使用自己的格式进行序列化/非序列化。您似乎拥有csv格式的数据,然后可以将其解析为数组。此外,在一列中存储多个值是存储数据的可怕方式。您应该使用一个单独的表连接在一起。您将很难查询该列中的单个值,即使您可以查询它,但从旁注来看,性能会非常差,如果您使用的是PDO,那么为什么我会在代码中看到调用
mysql\u fetch\u assoc
???不能将两者混用。请规范化数据库