【发布时间】:2015-01-19 10:17:33
【问题描述】:
我有一个显示数据库结果的函数,它看起来像:
public function getSolicData() {
$tempArray = $this->solicStringConvert();
foreach ($tempArray as $key => $solic){
$success = false;
try{
$con = new PDO( DB_HOST, DB_USER, DB_PASS );
$con->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
$sql = "SELECT * FROM solic_code WHERE manufacturer = :manufacturer_code AND main_type = :main_type AND option_code = :option_code";
$stmt_solic = $con->prepare( $sql );
$stmt_solic->bindValue( "manufacturer_code", "06", PDO::PARAM_STR );
$stmt_solic->bindValue( "main_type", "50", PDO::PARAM_STR );
$stmt_solic->bindValue( "option_code", $tempArray[$key], PDO::PARAM_STR );
$stmt_solic->execute();
$i= 0;
while ($row = $stmt_solic->fetch()){
$this->values[] = $row['description'];
}
}catch(PDOExeption $e){
echo $e->getMessage();
echo $con->errorInfo();
}
}
var_dump($this->values);
return $this->values;
}
在我看来它看起来不错并且应该返回多个结果,问题是它只显示带有文本 "Array" 的空白行,但是如果我尝试在它之前编写 var_dump,它的结果是:
array(17) { [0]=> string(12) "2-DVÉŘOVÝ" [1]=> string(20) "STŘEŠNÍ OKNO MECH" [2]=> string(23) "TÓNOVANÁ SKLA ZELENÁ" [3]=> string(20) "VNĚ-ZRCÁTKA NASTAV" [4]=> string(22) "BEZ ČERVENÉ OZD-LIŠ" [5]=> string(20) "REGUL SKLONU SVĚTEL" [6]=> string(13) "POTAHY LÁTKA" [7]=> string(18) "SEDADLO L V-NASTAV" [8]=> string(22) "ČALOUN PŘÍSTR-DESKY" [9]=> string(14) "1,8 L 66KW RP" [10]=> string(17) "PŘEVOD 4+E-RYCHL" [11]=> string(14) "SERVOŘÍZENÍ" [12]=> string(17) "PNEU 185/55 VR 15" [13]=> string(18) "DISKY 6 J X 15 ALU" [14]=> string(12) "OD SRPNA
所以我完全不明白这一点。说真的,我不知道如何调试这个。有人可以帮助我吗? (在我的情况下,我不能使用 echo)
【问题讨论】:
-
这是因为您无法在不指定键的情况下回显数组尝试像这样回显它:
echo $yourArrayVariable[0] -
数组没问题。您不能回显或打印数组。您必须使用 print_r 或使用 foreach 循环来打印每个项目。