私はフォームの入力を要求するためのHTML5文書を持っています(employee.phpとして保存されています)。html5フォームをSQLデータベースに接続できません。
また、私はローカルデータベースにフォームを接続するためのPHPのドキュメント(SQLConnectionProcess.php)を作成しました。私はXAMPPとPHPmyAdminを使用しています。
employee.php:
<html>
<body>
<form name="EmployeeDatabase" action="SQLConnectionProcess.php" method="post">
<link rel="stylesheet" href="css.css">
<h1>EMPLOYEE DATABASE</h1>
Employe Card NO: <input type="text" name="cardNO" ><br><br>
Employee NO: <input type="text" name="employeeNO" ><br><br>
Employee Name: <input type="text" name="employeename"><br><br>
Nationality: <input type="text" name="nationality"><br><br>
Profession: <input type="text" name="profession"><br><br>
DOB: <input type="text" name="DOB"><br><br>
DOJ: <input type="text" name="DOJ"><br><br>
DOA(VisitVisa): <input type="text" name="DOA"><br><br>
Company Code: <input type="text" name="companycode"><br><br>
Sponsor Code: <input type="text" name="sponsorcode"><br><br>
Visa Type: <input type="text" name="visatype"><br><br>
Status: <input type="text" name="status"><br><br>
<input type="submit" name="formSubmit" value="Submit">
<?php
?>
</form>
</body>
</html>
SQLConnectionProcess.php:
<?php
$con = mysql_connect('localhost','root','mysql');
mysql_select_db('employee_info',$con);
if(isset($_POST['formSubmit'])){
$cardNO= isset($_POST['cardNO']) ? $_POST['cardNO'] : 0;
$employeeNO= isset($_POST['employeeNO']) ? $_POST['employeeNO'] : 0;
$employeename= isset($_POST['employeename']) ? $_POST['employeename'] : "";
$nationality= isset($_POST['nationality']) ? $_POST['nationality'] : "";
$profession= isset($_POST['profession']) ? $_POST['profession'] : "";
$DOB= isset($_POST['DOB']) ? $_POST['DOB'] : "";
$DOJ= isset($_POST['DOJ']) ? $_POST['DOJ'] : "";
$DOA= isset($_POST['DOA']) ? $_POST['DOA'] : "";
$companycode = isset($_POST['companycode']) ? $_POST['companycode'] : 0;
$sponsorcode= isset($_POST['sponsorcode']) ? $_POST['sponsorcode'] : 0;
$visatype= isset($_POST['visatype']) ? $_POST['visatype'] : "";
$status= isset($_POST['status']) ? $_POST['status'] : "";
$sql = "INSERT INTO employee_info info(EmployeeCardNO,EmployeeNO,EmployeeName,Nationality,Profession,DOB,DOJ,DOA,CompanyCode,SponsorCode,VisaType,Status) VALUES ($cardNO,$employeeNO,$employeename,$nationality,$profession,$DOB,$DOJ,$DOA,$companycode,$sponsorcode,$visatype,$status)";
mysql_query($sql);
}
?>
phpMyAdminのパスワードは "mysqlの" です。
私は、私は次のようなエラーになっていますフォーム送信すると:
「致命的なエラー:不明なエラー:Cで未定義の関数にmysql_connect()の呼び出しを:\ XAMPP \ htdocsに\ test1の\ SQLConnectionProcess.php: 3スタックトレース:3行目のC:\ xampp \ htdocs \ test1 \ SQLConnectionProcess.phpに#0 {main}がスローされる "
助けてください。
使用しているPHPのバージョンは? –
サイドノート:mysql_ *は使用しないでください。準備されたステートメントは非常に安全ですので、mysqliまたはPDOにプリペアドステートメントで切り替えることができます。 – DD77
**危険**:[削除済み](http://php.net/ [obsolete ** database API](http://stackoverflow.com/q/12859942/19068))を使用しています。 manual/en/mysql.php)をPHPから入手してください。 [現代的な代替品](http://php.net/manual/en/mysqlinfo.api.choosing.php)を選択する必要があります。あなたは** [SQLインジェクション攻撃](http://bobby-tables.com/)**に対して脆弱です**現代のAPIは、[防御]を容易にします(http://stackoverflow.com/questions/60174/最良の方法からSQLへのPHPインジェクション)をあなた自身から守ってください。 – Quentin