Похоже, что с вашим кодом много проблем, но мы все должны с чего-то начать.Вверху вашего сценария поместите следующее, чтобы включить отчеты об ошибках:
error_reporting(-1);
Вы должны делать это для каждого файла, чтобы иметь лучший код.Чтобы ответить на ваш вопрос, причина его неудачи в том, что вам нужно поместить фигурные скобки вокруг переменных массива, например:
$string = "Some text with a {$array['var']} variable";
Также обратите внимание, что в переменной 'var' есть кавычки.Вы не можете сделать $ array [var] (без кавычек 'var', иначе вы получите уведомление о том, что var не определен. Кроме того, не рекомендуется использовать пробелы или символы типа '%' в именах переменныхПоэтому я изменил его в приведенном ниже примере на «ShotPercent».
Как уже упоминали многие другие, ваш скрипт уязвим для SQL-инъекций, поэтому я настоятельно рекомендую отказаться от mysql_ *функции полностью . Они устарели. Вместо этого используйте PDO. Что-то вроде этого должно работать:
<?php
$host = 'localhost';
$dbname = 'ernie';
$user = 'ernie';
$pass = 'gomes';
try {
$dbh = new LoggedPDO("mysql:host=$host;dbname=$dbname", $user, $pass);
$dbh->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
$dbh->setAttribute( PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC );
} catch(PDOException $e) {
die("DB connection error: ".$e->getMessage());
}
$sql="INSERT INTO statplayer (POS, GP, Goals, Assists, Points, Polarity, PPG, SHG, PIM, Hits, Shots, ShotPercent)
VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )";
$sth = $dbh->prepare($sql);
try {
$sth->execute(array($_POST['POS'], $_POST['GP'], $_POST['Goals'], $_POST['Assists'], $_POST['Points'], $_POST['Polarity'], $_POST['PPG'] , $_POST['SHG'], $_POST['PIM'], $_POST['Hits'], $_POST['Shots'],$_POST['ShotPercent']));
} catch(PDOException $e) {
die(echo $e->getMessage());
}
echo $sth->rowCount() .' record(s) added';