1

データベースに電話番号を入力しようとすると、列は varchar(15) として設定され、phpmyadmin 内では先頭に 0 が付いた電話番号 (07712123123 など) が受け入れられます。

私のPHPスクリプトには、07712123123を含む文字列である変数 $contactNo があります

しかし、準備されたステートメントを使用してデータをデータベースに入力すると、先頭のゼロが削除されます。どうすればこれを止めることができますか?

// Insert data into customer_accounts
if($stmt = $mysqli -> prepare("INSERT INTO customer_accounts (username, password, firstname, lastname, email, number) VALUES (?,?,?,?,?,?)")) {
    $stmt -> bind_param("ssssss", $username, $password, $firstname, $lastname, $emailAddress, $contactNo);
    $stmt -> execute();
    $stmt -> close();
}

ステートメントの前後に変数をエコーアウトしましたが、0がそこにあるため、データベースに入れるときに削除する必要があります。私は準備されたステートメントに不慣れで、それを修正するために何をすべきかわかりません。

ありがとう!

4

1 に答える 1

1

質問で提供する準備済みステートメントにはフローがないため、データ型のサイレント変換があると推測しています。

numberが実際にタイプであることを再確認してくださいVARCHARINT代わりに(または同様の)タイプがあると確信しています。

于 2013-03-25T21:36:07.627 に答える