2015-02-11 29 views
0

我想在整个表中搜索一个单词。 所以,如果你搜索阿姆,你必须得到一切与阿姆单词。从数组中创建一个对象PHP

我搜索

<?php 

$sql="SELECT * FROM album WHERE albumartiest like '$zoek'"; 
    $resultaatcolumn = Yii::app()->db->CreateCommand($sql)->queryAll();       
    if($resultaatcolumn != null){ 
    $zoekresultaat[] = $resultaatcolumn;} 
$sql="select * from album where albumnaam like '%$zoek%'"; 
    $resultaatcolumn = Yii::app()->db->CreateCommand($sql)->queryAll(); 
    if($resultaatcolumn != null){ 
    $zoekresultaat[] = $resultaatcolumn;} 
$sql="select * from album where albumartiest like '%$zoek%'"; 
    $resultaatcolumn = Yii::app()->db->CreateCommand($sql)->queryAll(); 
    if($resultaatcolumn != null){ 
    $zoekresultaat[] = $resultaatcolumn;} 
$sql="select * from album where albumgenre like '%$zoek%'"; 
    $resultaatcolumn = Yii::app()->db->CreateCommand($sql)->queryAll(); 
    if($resultaatcolumn != null){ 
    $zoekresultaat[] = $resultaatcolumn;} 
$sql="select * from album where albumafspeelijst like '%$zoek%'"; 
    $resultaatcolumn = Yii::app()->db->CreateCommand($sql)->queryAll(); 
    if($resultaatcolumn != null){ 
    $zoekresultaat[] = $resultaatcolumn;} 

它的工作原理,但不是究竟如何我想它。 结果是这样的:

Array ([0] => Array ([0] => Array ([albumcode] => 45 [albumnaam] => recovery [albumafspeelijst] => ["Cold Wind Blows","Talkin' 2 Myself","On Fire","Won't Back Down","W.T.P.","Going Through Changes","Not Afraid","Seduction","No Love","Space Bound","Cinderella Man","To Life","So Bad","Almost Famous","Love The Way You Lie","You're Never Over",""] [albumartiest] => Eminem [albumgenre] => hip-hop [albumimage] => images\eminemrecovery.png [albumprijs] => 20)) [1] => Array ([0] => Array ([albumcode] => 45 [albumnaam] => recovery [albumafspeelijst] => ["Cold Wind Blows","Talkin' 2 Myself","On Fire","Won't Back Down","W.T.P.","Going Through Changes","Not Afraid","Seduction","No Love","Space Bound","Cinderella Man","To Life","So Bad","Almost Famous","Love The Way You Lie","You're Never Over",""] [albumartiest] => Eminem [albumgenre] => hip-hop [albumimage] => images\eminemrecovery.png [albumprijs] => 20))) 

没关系,但我要的是拿出变量并使用它。

是否有一种方法可以将变量从数组中取出并使用它? 如果你们想了解更多关于我的代码的信息,请询问!

+0

你想访问喜欢的对象或结果? – AnotherGuy 2015-02-11 12:14:00

+0

是的,如果这可以帮助我将变量从数组中取出 – 2015-02-11 12:17:37

+0

您是否拥有表格“专辑”的模型? – topher 2015-02-11 12:19:02

回答

2

尝试使用此

Yii::app()->db->CreateCommand($sql)->setFetchMode(PDO::FETCH_OBJ)->queryAll() 

这会给你的对象与列名数组作为性能

如: -

foreach($result as $row) 
{ 
echo $row->albumcode; 
} 
0

唔只是做

foreach($zoekresultaat as $key => $value) { 
    //do what I want with each seperate returened result. The array key is in $key and the result array is in $value 
    echo $value['albumcode'] . ' = '. $value['albumnaam']; 

}

又名,基本的PHP

并请为您的应用程序的安全性,学习如何做准备好的发言中警予

方式你的查询现在我可以擦你的整个数据库

+0

是的,谢谢,但它是为了学校,所以我永远不会把它放在网上或其他东西。如果我使用你的解决方案,我的本地主机崩溃。 – 2015-02-11 12:35:09

+0

呃,即使我没有出错:P尝试修改后的代码;-) – Tschallacka 2015-02-11 13:12:23

1

如果哟你想访问结果集就像一个对象,你可以使用本地PHP类ArrayObject并提供标志来表明。

$album = new ArrayObject($result, ArrayObject::ARRAY_AS_PROPS); 

您现在可以访问结果如下所示:

$code = $album->albumcode; 
$name = $album->albumnaam; 

希望这可以指导您,编码快乐!

+0

感谢您的回复,但如果我这样做,我会收到一个错误,说undefined索引 – 2015-02-11 12:25:28

+0

我不明白为什么会出现错误。请确保根据您的数据库列拼写变量名称。如果他们是,我很无能,对不起。 – AnotherGuy 2015-02-11 12:31:10

+1

数组可以有像$ array [“My Name”]和$ array [3]这样的索引,对象字段遵循特定的命名约定。例如$ my_object-> 3是无效的。 – crafter 2015-02-13 06:05:20