XAMPでローカルPHPを実行してMySqlにデータを保存するために単純なJSONを送信しようとしていますが、Unity C#コードが真であると思っています多くの異なるPHPコードが、半分のコードは半分のエラーを示していません、私は両方の最後に使用されたコードを投稿し、いずれかの歓迎を示唆します。PHPがUnity C#からJSON投稿を読む
C#ユニティ:
using UnityEngine;
using System.Collections;
using System.Text;
public class JSON : MonoBehaviour
{
IEnumerator Start()
{
Debug.Log ("Posting JSON...");
string URL = "http://localhost/php/page.php";
WWWForm form = new WWWForm();
form.AddField ("username", "testuser");
form.AddField ("password", "testpass");
var headers = form.headers;
headers["content-type"] = "application/json";
WWW www = new WWW(URL, form.data, headers);
yield return www;
Debug.Log (www.uploadProgress);
if (www.error == null)
{
Debug.Log("WWW Ok!: " + www.text);
} else {
Debug.Log("WWW Error: "+ www.error);
}
}
}
PHP XAMP:
<?php
$connect = mysqli_connect("localhost","root","", "localdb");
$filename = file_get_contents('php://input');
$data = file_get_contents($filename);
$array = json_decode($data, true);
foreach ($array as $row)
{
$sql = "INSERT INTO localtable (username, password) VALUES('".$row[username]."','".$row[password]."')";
mysqli_query($connect, $sql);
}
echo $data;
?>
Unityのログオン:
WWW Ok!:
Warning: file_get_contents(username=testuser&password=testpass): failed to open stream: No such file or directory in C:\xampp\htdocs\php\page.php on line 8
Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\php\page.php on line 12
JSON data added. UnityEngine.Debug:Log(Object) c__Iterator3:MoveNext() (at Assets/Scripts/JSON.cs:31) UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)
PHPエラー:
Warning: file_get_contents(): Filename cannot be empty in C:\xampp\htdocs\php\page.php on line 8
Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\php\page.php on line 12 JSON data added.
編集1:エラーなし、データなし。
<?php
$data = json_decode(file_get_contents('php://input'), true);
print_r($data);
echo $data["username"];
echo $data["password"];
?>
編集2:
<?php
$data = file_get_contents('php://input');// $data == "username=testuser&password=testpass"
parse_str($data, $result);
echo $result["username"]; // "testuser"
echo " ";
echo $result["password"]; // "testpass"
echo " ";
?>
Unity show data: testuser testpass
PHP show:
Notice: Undefined variable: username in C:\xampp\htdocs\php\page.php on line 5
Notice: Undefined variable: password in C:\xampp\htdocs\php\page.php on line 7
編集3:最終的なPHPコードは、MySQL
<?php
$data = file_get_contents('php://input');// $data == "username=testuser&password=testpass"
parse_str($data, $result);
echo $result["username"]; // "testuser"
echo " ";
echo $result["password"]; // "testpass"
echo " ";
$connect = mysqli_connect("localhost","admin","123456", "localdb");
$array = json_decode($data, true);
$sql = "INSERT INTO localtable (username, password) VALUES('".$result["password"]."','".$result["password"]."')";
mysqli_query($connect, $sql);
echo " ";
echo $queryResult = mysqli_query($connect, $sql);//Return 1
?>
エラーは何ですか? Mysql空のレコードの – zwcloud
が追加されました。 –
'mysqli_query'が返す値は何ですか? – zwcloud