$conn = mysql_connect("localhost","root","");
if($conn){
mysql_select_db("test",$conn);
$sql = "テーブルユーザーを作成します
id int( 5) null ではない auto_increment 主キー、
name char(10) not null デフォルト ''、
パスワード char(12) not null デフォルト ''、
age int(3) not null デフォルト 0、
sex char(10) not null デフォルト '男性'、
メール char(50) は null デフォルト ''、
度 char(10) は null デフォルト '' ではありません
);";
$do = mysql_query($sql,$conn);
if( $do){
echo "操作が成功しました"; }
else{
echo "操作が失敗しました";
}else{
echo "サーバーへの接続エラー"
}
上記のコードを実行すると、「操作が失敗しました」が返されます。 」。自分でテストしてみたところ、漢字の問題であることがわかりました。つまり、性別フィールドのデフォルト値は「男性」でした。ただし、$sql のステートメントを cmd で個別に実行すると、テーブルを正常に作成できます。
何が起こっているのかわかりません。専門家が説明してくれることを願っています。
ディスカッションへの返信 (解決策)
テーブル作成文の後にDEFAULT CHARSET=gbkを追加します