2015-05-08 3 views
-3

Итак, я делаю свой сервер для мобильных игр Android, используя php, mysql.Один скрипт PHP должен иметь один mysql_query?

Когда пользователь сначала запускает мою игру, я хочу сравнить его ID с моей игрой DB и проверить, что он new user или not.

Если он not new user, я хочу получить информацию о товаре, которую он получил от db, и отправить его клиенту единства и применить.

Так что я делаю PHP скрипт, чтобы сделать это, но вопрос в том,

Здесь мне нужно сделать 2 раза по $sql и mysql_query. Сначала для сравнения ID, второй для выборки item info.

$sql = "SELECT * FROM $table WHERE id = '$userId'"; 

$result = mysql_query($sql) or Die('Query failed: ' . mysql_error()); 
echo 'Registration Complete'; 

then, могу ли я ввести эти 2 процесса в один PHP-скрипт? В этом случае, как я могу получить из единства? эхо - это один результат, не так ли?

или я должен делить на 2 PHP-скрипта?

+0

Он не должен иметь ни одного. И кроме того, есть только один запрос. Либо он возвращает результат, либо нет. – Strawberry

+1

Unity и Unity3D - это разные вещи, пожалуйста, используйте правильный тег в следующий раз – ILiveForVR

+1

Вы в основном делаете все неправильно, извините! Если вы хотите разрабатывать андроид-игры, то зачитайте основы мобильной разработки, это абсолютно не имеет ничего общего с PHP. Если вы хотите написать PHP, сначала прочитайте основы PHP, ваши 3 строки кода полны ошибок. – Sliq

ответ

0

Пожалуйста, не используйте mysql_query. Используйте как минимум MySQLi, но (на мой взгляд) лучше использовать PDO

Чтобы ответить на ваш вопрос: вы можете сделать два оператора SQL в одном файле PHP. На самом деле это очень распространено. Ваш код будет выглядеть примерно так:

$sql = "select * from user"; 
$result = mysql_query($sql); 
if (isset($result[0])) { 
    $sql = "select * from items where user_id = ?"; 
    $result = mysql_query($sql); 
    // Parse result to unite all items in a readable format 
    echo $result; 
} else { 
    echo 'registration succesful'; 
} 

Это просто пример кода, и не будет работать, но это должно подтолкнуть вас в правильном направлении.

EDIT:
Чтобы вернуть несколько различных видов данных в интерфейс (Unity3D), рекомендуется объединить все данные. Также форматирование вашего вывода в известном формате, например JSON, упростило бы анализ данных во внешнем интерфейсе.

Рассмотрим следующий код:

$response = array(); 
// Code to retrieve user in $user using msqli 
if ($user) { 
    // Retrieve items from user using mysqli 
    $response['items'] = $items; 
    $response['user'] = $user; 
    $response['message'] = 'User authenticated'; 
} else { 
    // Insert user into DB and save in $user using mysqli 
    $response['user'] = $user; 
    $response['message'] = 'User registered'; 
} 

echo json_encode($response); 
+0

Thx для ответа, так как mysqli_query ($ sql); ? и как сделать второй запрос? просто выполните другую mysqli_query ($ sql2) и сделайте 2 строки результата одному строковому значению? – leegod

+0

да, это должно работать. –

+0

Могу ли я использовать множественный синтаксис эха? echo $ result; echo $ result2; и если это возможно, как я могу извлечь из единства? – leegod

Смежные вопросы