Есть несколько вещей, которые вы можете сделать, чтобы исправить это и предотвратить его. Barmar прав, вам нужно передать переменную $ player1 в вашу функцию, иначе она будет недоступна.
Скорее всего, ваш запрос возвращает ошибку, но вы не поймаете ее, поэтому, когда вы пытаетесь повторить $ row ['id'], ее просто пусто.
При разработке я всегда добавляю: error_reporting (E_ALL); ini_set ("display_errors", "on");
наверху моих файлов php, чтобы увидеть все ошибки и предупреждения.
Что еще более важно, чтобы поймать ошибки, вы можете сделать что-то вроде этого, чтобы убедиться, что ваш запрос работает правильно:
function gameID($player1){
$gameIDsql = mysql_query("SELECT id FROM game WHERE player1='$player1' ORDER BY id DESC LIMIT 1");
if(!$gameIDsql)
throw new Exception=("Unable to get id for player: " . $player1 . " query returned an error: " . mysql_error());
$row = mysql_fetch_assoc($gameIDsql);
echo $row['id'];
}
Как правило, вы это просто хорошая практика, чтобы предположить, что если что-то может не, что это будет так лучше всего включить код, который будет обрабатывать ошибки.
Что такое 'print_r ($ row)'? –
Простой способ отладки в следующий раз: проверить строку 75. Обратите внимание, что поле 'player1' является пустой строкой. Вернитесь назад и посмотрите, что '$ player1' - пустая строка. Обратите внимание, что '$ player1' не определен в этой области (не является частью этой функции и не представлен как глобальный). – BLaZuRE