Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/292.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
为什么我能';在react本机应用程序中不显示我的php文件的数据_Php_Reactjs_React Native - Fatal编程技术网

为什么我能';在react本机应用程序中不显示我的php文件的数据

为什么我能';在react本机应用程序中不显示我的php文件的数据,php,reactjs,react-native,Php,Reactjs,React Native,在我的react本机应用程序中,我希望显示使用php从sql server获取的数据 问题是我的php文件工作正常(当我在postman或任何浏览器中尝试时),但当我在手机中运行应用程序时,我什么都没有得到,原因是什么 import React, { useEffect, useState } from 'react'; import { ActivityIndicator, FlatList, Text, View } from 'react-native'; export default

在我的react本机应用程序中,我希望显示使用php从sql server获取的数据

问题是我的php文件工作正常(当我在postman或任何浏览器中尝试时),但当我在手机中运行应用程序时,我什么都没有得到,原因是什么

import React, { useEffect, useState } from 'react';
import { ActivityIndicator, FlatList, Text, View } from 'react-native';

export default App = () => {
  const [isLoading, setLoading] = useState(true);
  const [data, setData] = useState([]);

  useEffect(() => {
    fetch('http://192.168.1.10/ment.php')
      .then((response) => response.json())
      .then((json) => setData(json.movies))
      .catch((error) => console.error(error))
      .finally(() => setLoading(false));
  }, []);

  return (
    <View style={{ flex: 1, padding: 24 }}>
      {isLoading ? <ActivityIndicator/> : (
        <FlatList
          data={data}
          keyExtractor={({ id }, index) => id}
          renderItem={({ item }) => (
            <Text>{item.MOIS}</Text>
          )}
        />
      )}
    </View>
  );
};
import React,{useffect,useState}来自“React”;
从“react native”导入{ActivityIndicator,FlatList,Text,View};
导出默认应用=()=>{
const[isLoading,setLoading]=useState(true);
const[data,setData]=useState([]);
useffect(()=>{
取('http://192.168.1.10/ment.php')
.then((response)=>response.json())
.then((json)=>setData(json.movies))
.catch((错误)=>console.error(错误))
.最后(()=>setLoading(false));
}, []);
返回(
{正在加载?:(
id}
renderItem={({item})=>(
{item.MOIS}
)}
/>
)}
);
};
这是我的php文件,它显示了我数据库的5个月

<?php
include 'serverName.php';
$connectionInfo=array("Database"=>"Net","UID"=>"s","PWD"=>"123");
$conn=sqlsrv_connect($serverName,$connectionInfo);

$sql = "select TOP 5 MOIS from Dyn_Encaissement " ;  

$stmt = sqlsrv_query( $conn, $sql  );

 while( $row[] = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC) ){
      $Item = $row;
      $json = json_encode($Item);   
}
    echo $json;
?>


从您的手机拨打该IP正确吗?也就是说,PHP代码是否实际执行?当我在浏览器(计算机)中尝试ip时,它工作正常,我是否需要检查其他东西?是的,如前所述,从手机检查,而不是从计算机检查。如果电话有问题,那么从那里试一下。如果手机没有连接到与您的计算机相同的wifi网络,那么您将立即遇到问题。如果不是网络,则需要调试react代码并检查控制台错误等。打开此
http://192.168.1.10/ment.php
url,查看您的手机是否可以访问此url。192.168.1.10是一个不可路由的地址,因此您无法直接通过internet打开它,仅当您的手机与计算机位于同一局域网上时。如果您试图通过数据连接通过internet访问它,则需要将PHP代码托管在可以从外部访问的地方。