私は、登録ボタンがクリックされたとき、およびアドレスチェックボックスがチェックされているときに実行されるべき以下のPHPスクリプトを持っています。PHP executeはエラーを返しませんが、データベースに行が追加されていません
if(isset($_POST['register'])){
if($_POST['addressCheckBox'] == 'Yes'){
if(isset($_POST['streetNumber']) && isset($_POST['route']) && isset($_POST['sublocality_level_1'])){
$unitDetails = trim($_POST['unitDetails']);
$streetNumber = mysqli_real_escape_string($db, trim($_POST['streetNumber']));
$route = mysqli_real_escape_string($db, trim($_POST['route']));
$suburb = mysqli_real_escape_string($db, trim($_POST['sublocality_level_1']));
$city = mysqli_real_escape_string($db, trim($_POST['city']));
$zipCode = mysqli_real_escape_string($db, trim($_POST['zipCode']));
$province = mysqli_real_escape_string($db, trim($_POST['province']));
$country = mysqli_real_escape_string($db, trim($_POST['country']));
$email = mysqli_real_escape_string($db, trim($_POST['email']));
if(!empty($streetNumber) && !empty($route) && !empty($city) && !empty($province) && !empty($zipCode) && !empty($country)){
$queryInsertMemberAddress = $db->prepare("INSERT INTO address (memberEmail, unitDetails, houseNumber, streetName, suburb, city, postalCode, province, country) VALUES (?,?,?,?,?,?,?,?,?)");
$queryInsertMemberAddress->bind_param('ssisssiss', $email, $unitDetails, $streetNumber, $route, $suburb, $city, $zipCode, $province, $country);
$queryInsertMemberAddress->execute() or die($queryInsertMemberAddress->error);
}
}
}
}
スクリプトは、私はすべてのエラーを得ることはありませんが、何行がデータベースに挿入されていない実行されます。私は、次の手順を実行して、エラーを見つけることを試みた:
は後$ queryInsertMemberAddressにのvar_dumpを実行 - >)(を実行し、それがますprint_rを実行
object(mysqli_stmt)[19] public 'affected_rows' => null public 'insert_id' => null public 'num_rows' => null public 'param_count' => null public 'field_count' => null public 'errno' => null public 'error' => null public 'error_list' => null public 'sqlstate' => null public 'id' => null
返します- > execute()の後に$ queryInsertMemberAddress変数にがあり、
を返します。 0mysqli_stmt Object ([affected_rows] => 1 [insert_id] => 28 [num_rows] => 0 [param_count] => 9 [field_count] => 0 [errno] => 0 [error] => [error_list] => Array () [sqlstate] => 00000 [id] => 4
ますprint_rは、1行が影響を受けたことを示しているが、レコードがデータベースに表示されていない理由を私は理解できません。私はどこに間違っていたのか誰にでも見える?
PHPは条件付きで入力しますか? –
@ÁlvaroGonzálezはいそうです。私はそれが実際にすべての4つの条件文を入力することを確認するためにechoを使ってテストしました – Hozington
@Hozingtonそしてdb接続? –