これにより、クエリが失敗した理由がわかり、少なくともセキュリティ上の懸念を防ぐことができます。
小さな改善
// Run by each $_POST entry and set it to empty if not found
// Clean the value against tags and blank spaces at the edges
$dataArr = array();
foreach($_POST as $key => $value) {
$dataArr[$key] = ($value == "undefined") ? '' : strip_tags(trim($value));
}
// try to perform the INSERT query or die with the returned mysql error
$query = mysql_query("
INSERT INTO members
(user, pass, mail, country, city, www, credo)
VALUES (
'".$dataArr["user"]."',
'".$dataArr["pass"]."',
'".$dataArr["mail"]."',
'".$dataArr["country"]."',
'".$dataArr["city"]."',
'".$dataArr["www"]."',
'".$dataArr["credo"]."'
)
") or die ("Error:<br/>".mysql_error());
中程度の改善
// Run by each $_POST entry and set it to empty if not found
// Clean the value against tags and blank spaces at the edges
$dataArr = array();
foreach($_POST as $key => $value) {
$dataArr[$key] = ($value == "undefined") ? '' : strip_tags(trim($value));
}
// escape everything
$query = sprintf("
INSERT INTO members
(user, pass, mail, country, city, www, credo)
value ('%s', '%s', '%s', '%s', '%s', '%s', '%s')",
mysql_real_escape_string($dataArr["user"]),
mysql_real_escape_string($dataArr["pass"]),
mysql_real_escape_string($dataArr["mail"]),
mysql_real_escape_string($dataArr["country"]),
mysql_real_escape_string($dataArr["city"]),
mysql_real_escape_string($dataArr["www"]),
mysql_real_escape_string($dataArr["credo"])
);
// try to perform the INSERT query or die with the returned mysql error
$result = mysql_query($query) or die ("Error:<br/>".mysql_error());
高度な改善
新しいプロジェクトを開始する場合、または方法を変更できる時点で、現在使用しているデータベース接続に関連する多くのセキュリティ問題を防ぐために、PHPPDOを使用することを強くお勧めします。