私は、データベースのテーブルにユーザーを挿入するためのスクリプトをPHPで作成しています。コードは次のとおりです。
<?php
$email = check_input($_POST['EmailAddress'], "Enter your email address");
$pass = check_input($_POST['Password'], "Enter a password");
$first_name = check_input($_POST['FirstName'], "Enter your first name");
$last_name = check_input($_POST['LastName'], "Enter your last name");
$gender = check_input($_POST['Gender']);
$dobmonth = check_input($_POST['dobmonth']);
$dobday = check_input($_POST['dobday']);
$dobyear = check_input($_POST['dobyear']);
$dob = $dobmonth.'/'.$dobday.'/'.$dobyear;
$phone = check_input($_POST['CellPhone']);
$fanmail = check_input($_POST['FanMail']);
if (verify($email) === true) {
ここから編集:
$link = new mysqli("localhost","263764","Corvette88", "256764 ");
if ($mysqli->connect_errno) {
echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
} else {
echo 'connected to db table ';
}
echo $mysqli->host_info . "\n";
$query = "INSERT INTO 68_users VALUES ('$email','$pass','$first_name','$last_name','$dob','$gender','$phone','$fanmail')" or die(mysql_error());
if ( !mysqli_query($link, $query) ) {
echo 'error: '.mysqli_error($link);
exit();
}
echo "1 record added ";
mysqli_close($link);
ここまで..
echo"connection closed";
} else {echo'unverifiable email address ';
echo $email;
}
function check_input($data, $problem='') {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
if ($problem && strlen($data) == 0) {
die($problem);
}
return $data;
}
function conntodb() {
}
function verify($email){
$isValid = true;
$atIndex = strrpos($email,'@');
if (is_bool($atIndex) && !$atIndex) {
return false;
} else {
$domain = substr($email,$atIndex+1);
$local = substr($email, $atIndex);
}
$localLen = strlen($local);
$domainLen = strlen($domain);
if($localLen < 1 || $localLen > 64) {
return false;
}else if ($domainLen < 1 || $domainLen > 255) {
return false;
}
if ($local[0] == '.' || $local[$localLen-1] == '.') {
return false;
} elseif (preg_match('/\\.\\./', $local)) {
return false;
}
if(!preg_match('/^[A-Za-z0-9\\-\\.]+$/', $domain)) {
return false;
} else if (preg_match('/\\.\\./', $domain)) {
return false;
} else if (!(checkdnsrr($domain,"MX") || checkdnsrr($domain, "A"))) {
return false;
}
return $isValid;
}
?>
エラーが発生した場合と成功した場合に表示するコードのチェックポイントを設定しました。
私の問題は、データベースに行を追加することに成功したことを示していますが、データベースを確認すると、データベースにデータが入力されていると表示されていません。チェックポイントを通過しているので、どこが間違っているのかわかりません。何かアイデアはありますか?