以下是我的代码中导致我出现问题的部分:
$usertype = $_POST['usertype'];
if ($usertype == "Administration") {
?>
<script type='text/javascript'>
window.onload = promptMessage;
function promptMessage() {
var x = 38773;
var code = prompt('Enter the administration code you have been given:', 'Enter code here');
if (code == x) {
alert("Administration code accepted");
} else {
var secondcode = prompt('The code you have entered is inccorect', 'Enter correct code here or change Usertype');
if (secondcode == x) {
alert("Administration code accepted");
} else {
location.href = 'AdminCodeFail.html';
}
}
}
</script>
<?php
$con = mysqli_connect("localhost:3306", "root", "***********", "systemone");
$sql = "INSERT INTO completeinfo (FirstName, Surname, UniID,
HouseNumber, AddressLineOne, AddressLineTwo, City,
PostCode, County, PhoneNumber, Email, Username,
Password, UserType)
VALUES
('$_POST[firstname]','$_POST[surname]','$_POST[uniid]',
'$_POST[housenumber]','$_POST[addresslineone]',
'$_POST[addresslinetwo]','$_POST[city]','$_POST[postcode]',
'$_POST[county]','$_POST[contactnumber]','$_POST[email]',
'$_POST[username]','$_POST[password]','$_POST[usertype]')";
if (!mysqli_query($con, $sql)) {
die('Error: ' . mysqli_error($con));
} else {
header("Location:SignUpComplete.html");
}
我遇到的问题是插入查询无法正常工作。查询无法将任何数据插入数据库,我不知道为什么。与数据库的连接工作正常,我在测试查询本身时没有收到任何错误。那么为什么查询不起作用?
答案 0 :(得分:1)
添加
error_reporting(E_ALL);
ini_set('display_errors', '1');
在您的代码之后,它将为您提供有关查询失败原因的更多描述性错误。
答案 1 :(得分:0)
您不能在双引号中包含数组变量,如下所示:
$string = "hello $array['index'] world!";
他们必须是:
$string = "hello {$array['index']} world!";
您的代码在wazoo上有SQL注入漏洞。我强烈建议您阅读:How can I prevent SQL injection in PHP?
答案 2 :(得分:0)
How should I write PHP $_POST vars in a mysql_query function?
这是你的错误,这类问题已经得到解答。
使用
. mysql_real_escape_string
弹出字符串并识别值
看看链接......它会有所帮助:)