I am trying to send data from input to a my sqldata base. Here is the coding for it trying to send the information to the database. It doesn't appear in the database; what is wrong with the coding?
$con=mysqli_connect(/*hostname*/"localhost",
/*username*/"user",
/*password*/"pass",
/*database name*/"dbase");
// Check connection
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$a = mysqli_real_escape_string($con, $_POST['a']);
$b = mysqli_real_escape_string($con, $_POST['b']);
$c = mysqli_real_escape_string($con, $_POST['b']);
$d = mysqli_real_escape_string($con, $_POST['d']);
$e = mysqli_real_escape_string($con, $_POST['e']);
$f = mysqli_real_escape_string($con, $_POST['f']);
$g = 10 + ($e - $f);
mysql_query("INSERT INTO 'mensscore', (Name, Club, Level, App, Score);
VALUES ('".$a."',
'".$b."',
'".$c."',
'".$d."'
'".$g."')");
?>
解决方案
You are mixing mysql and mysqli. Change:
mysql_query("INSERT INTO 'mensscore', (Name, Club, Level, App, Score);
VALUES ('".$a."',
'".$b."',
'".$c."',
'".$d."'
'".$g."')");
To:
mysqli_query($con, "INSERT INTO `mensscore` (Name, Club, Level, App, Score)
VALUES ('$a',
'$b',
'$c',
'$d',
'$g'
);");
Also see How can I prevent SQL injection in PHP and PHP: mysqli_stmt - Manual because using POST is not always safe as people can do SQL injection.