所以我使用mysql查询浏览器设置了一个表,现在我正在尝试填充它。但无论我做什么,它都说“成功创建了帐户”,但没有任何东西被添加到数据库中!
我的代码如下:
`
if($connection)
{
$out =
"<p>Please wait while we process your request.</p>";
mysql_select_db(
"accounts",
$connection
);
// Generate Account Number.
$AccountNumber = rand(17000, 904870);
// Set Account Values.
$GenuineUser = 0;
$VerifiedAdvertiser = 0;
$DateOfBirth =
$_POST["bmoth"] . "/" . $_POST["bday"] . "/" . $_POST["byear"];
// MD5 the Account ID.
$AccountID = md5($_POST["AccountID"]);
// Create Advertiser Account.
mysql_query(
"INSERT INTO accounts.advertisers (
'Account Number',
'Account ID',
'First Name',
'Last Name',
'Date Of Birth',
'Email Address',
'Phone Number',
'Street Address',
'City',
'Zip Code',
'State',
'Country',
'Genuine User',
'Verified Advertiser') VALUES (
'".$AccountNumber."',
'".$_POST["AccountID"]."',
'".$_POST["FirstName"]."',
'".$_POST["LastName"]."',
'".$DateOfBirth."',
'".$_POST["EmailAddress"]."',
'".$_POST["PhoneNumber"]."',
'".$_POST["StreetAddress"]."',
'".$_POST["City"]."',
'".$_POST["ZipCode"]."',
'".$_POST["State"]."',
'".$_POST["Country"]."',
'".$GenuineUser."',
'".$VerifiedAdvertiser."')
");
// Setup Advertisement Table.
// Assume account created successfully.
$out =
"<p>Advertiser Account created.</p>";
}
else
{
die('Oh, @#%#!: ' . mysql_error());
}
mysql_close($connection);
}
else
{
// else, display form.
} ?>
`
有人可以帮我解决这个问题吗?我会感激任何帮助。
谢谢
更新 所以,我已经设法弄清楚会发生什么,多亏了你的所有建议:)事实证明,它没有用,因为我在列名之间使用了空格(即账户ID应该是AccountID)。所以我只是从表列中删除了空格,也从php代码中删除了空格。
感谢大家的帮助!
答案 0 :(得分:1)
您确实应该检查查询中的错误。甚至是基本的东西:
mysql_query($query) or die(mysql_error());
每次执行mysql函数时都应检查错误,或者有一种捕获异常的方法(如果使用适用的接口,因为默认的mysql函数不会抛出异常)。
可能会搞砸几点。
此外,作为提示,sprintf
如果您正在编写查询,则效果非常好。
答案 1 :(得分:1)
您的SQL查询中有错误。您正在获得“帐户创建”,因为您没有对其进行测试。
答案 2 :(得分:0)
所以,我已经设法弄清楚会发生什么,多亏了你的所有建议:)事实证明,它没有用,因为我在列名之间使用了空格(即账户ID应该是AccountID )。所以我只是从表列中删除了空格,也从php代码中删除了空格。
感谢大家的帮助!