PHP dispdb.php
<?php
// Configuration
$hostname = '1(Ignore this)';
$username = '1(Ignore this)';
$password = '1(Ignore this)';
$database = '1(Ignore this)';
$secretKey = "1(Ignore this)";
try {
$dbh = new PDO('mysql:host='. $hostname .';dbname='. $database, $username, $password);
} catch(PDOException $e) {
echo '<h1>An error has occurred.</h1><pre>', $e->getMessage() ,'</pre>';
}
$realHash = md5($_GET['search'] . $secretKey);
if($realHash == $hash){
$sth = $dbh->query('SELECT * FROM `oidevstool` WHERE `id` =:search ORDER BY `id`');
$sth->setFetchMode(PDO::FETCH_ASSOC);
$result = $sth->fetchAll();
if(count($result) > 0) {
foreach($result as $r) {
echo $r['id'] . "/" . $r['title'] . "/" . $r['priority'] . "/" . $r['deadline'] . "/" . $r['comment'];
}
}
}
?>
database.cs
using UnityEngine;
using System.Collections;
public class database : MonoBehaviour {
private string secretKey = "1(Don't mid this)"; // Edit this value and make sure it's the same as the one stored on the server
public string addScoreURL = "1(Don't mid this)"; //be sure to add a ? to your url
public string highscoreURL = "http://example.com/dispdb.php?";
public string dataRetrieved;
public string search;
public string Md5Sum(string strToEncrypt)
{
System.Text.UTF8Encoding ue = new System.Text.UTF8Encoding();
byte[] bytes = ue.GetBytes(strToEncrypt);
// encrypt bytes
System.Security.Cryptography.MD5CryptoServiceProvider md5 = new System.Security.Cryptography.MD5CryptoServiceProvider();
byte[] hashBytes = md5.ComputeHash(bytes);
// Convert the encrypted bytes back to a string (base 16)
string hashString = "";
for (int i = 0; i < hashBytes.Length; i++)
{
hashString += System.Convert.ToString(hashBytes[i], 16).PadLeft(2, '0');
}
return hashString.PadLeft(32, '0');
}
// Get the scores from the MySQL DB to display in a GUIText.
// remember to use StartCoroutine when calling this function!
IEnumerator GetScores()
{
string hash = Md5Sum(search + secretKey);
string post_url = highscoreURL + "search=" + search + "&hash=" + hash;
WWW hs_post = new WWW(post_url);
WWW hs_get = new WWW(highscoreURL);
yield return hs_get;
if (hs_get.error != null)
{
print("There was an error getting the high score: " + hs_get.error);
}
else
{
dataRetrieved = hs_get.text;
}
}
void OnGUI()
{
GUI.Box(new Rect(0, 0, 800, 800), dataRetrieved);
search = GUI.TextField(new Rect(805, 0, 200, 30), search);
if(GUI.Button(new Rect(805, 35, 200, 30), "Search"))
{
StartCoroutine(GetScores());
}
}
}
我正在寻找修复的方法,但由于某些原因我无法找到任何帮助,只要我在Unity3D上按下搜索它不起作用它甚至没有显示“成功”,尽管哈哈是正确的获取数据
有人有机会帮我吗? 不会非常感激
三江源。 最诚挚的问候
答案 0 :(得分:1)
您正在var crsCount = document.getElementsByClassName(crsClass).length;
中使用named placeholder
:搜索。
使用query()
然后绑定prepare()
和:search
或通过将数据传递到execute()
来使用“延迟”绑定。
See PDO info 了解更多
答案 1 :(得分:0)
if($realHash = $hash){
应为if($realHash === $hash){