我有2个php文件,home.php和db_get.php。 home.php包含db_get.php。 db.php中有一个函数,我在home.php中调用它,它返回一个数组。然后将此数组转换为json,然后打印到控制台。我在控制台上没有看到任何东西。我认为这个功能没有被调用。
当我在函数内部放置相同的代码,并且只包含db_get.php文件时,我会看到json结果。
home.php
<script type="text/javascript">
<?php
$parameter = 'Category';
$item_type = 'Grocery';
$db = mysqli_connect('localhost', 'root', 'root' , 'shopping_express');
include 'db_get.php';
$results = getData($parameter, $item_type);
?>
var picturesJSON = <?php echo json_encode($results); ?>;
console.log("The JSON is " + picturesJSON);
loadItemImages(picturesJSON);
</script>
db_get.php
<?php
function getData($parameter, $item_type){
$sql_statement = "SELECT * ";
$sql_statement .= " FROM items ";
$sql_statement .= " WHERE " . $parameter . "= '$item_type' ";
$sql_statement .= " WHERE type = 'bag' ";
$result = mysqli_query($db, $sql_statement);
$outputDisplay = "";
$info=array();
if(!$result) { //error
$outputDisplay .= " " .mysqli_errno($db);
$outputDisplay .= " " .mysqli_error($db);
$outputDisplay .= " " .$sql_statement;
$outputDisplay .= " " .mysqli_affected_rows($db);
}
else{
while($row = mysqli_fetch_array($result,MYSQL_ASSOC)){
array_push($info,$row);}
}
return $info;
}
?>
答案 0 :(得分:1)
function getData($parameter, $item_type){
global $db, $outputDisplay;
// then continue the rest of the function
(感谢@DanFromGermany发现不是全局的$ db变量。)