2017-02-24 10 views
-1

私はmysqlデータベースにデータを挿入しようとしています。 しかし、私はそれを動作させることはできません。..PHPはmysqlデータベースに挿入しません

これは私のreg.phpファイルです:

<?php 
include 'mysql.php'; 
if (isset($_POST['submit'])) 
{ 
$email = $_POST["email"]; 
$sql = ("INSERT INTO users (`email`) VALUES('".$email."') "); 
mysql_query($sql); 
} 
?> 
<form action="" method="post"> <br /> 
<input type="text" name="email"> 
<input type="submit" name="submit" > 
</form> 

そして、これが私のmysql.phpファイルです:

<?php 
$dbhost = 'localhost'; 
$dbuser = 'root'; 
$dbpass = ''; 
$conn = mysql_connect($dbhost, $dbuser, $dbpass); 
if(! $conn) 
{ 
die('Could not connect: ' . mysql_error()); 
} 


echo 'Connected to MySQL<br>'; 
mysql_close($conn); 
?> 

そしてこれが私ですphpmyadminのテーブル:

CREATE TABLE `users` (
`ID` int(11) NOT NULL, 
`email` varchar(25) NOT NULL 
) ENGINE=MyISAM DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC; 

-- 
-- Indexes for dumped tables 
-- 

-- 
-- Indexes for table `users` 
-- 
ALTER TABLE `users` 
ADD PRIMARY KEY (`ID`); 

-- 
-- AUTO_INCREMENT for dumped tables 
-- 

-- 
-- AUTO_INCREMENT for table `users` 
-- 
ALTER TABLE `users` 
MODIFY `ID` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2; 
/*!40101 SET [email protected]_CHARACTER_SET_CLIENT */; 
/*!40101 SET [email protected]_CHARACTER_SET_RESULTS */; 
/*!40101 SET [email protected]_COLLATION_CONNECTION */; 

ここでどのように私はこれを解決することができますヒント?

ありがとうございます!

+1

2017年にMySQLiやPDOの代わりに旧式の死んだMySQL拡張機能を使用している人はなぜですか?そして、あなたが現実のためにそれを心配する前に、SQLインジェクションから保護する方法を学びましょう。 –

+0

PHPバージョンのコントロールなしで古いマシンで作業するとき... – user2342558

+1

@ user2342558 - プロバイダサポートされていない古いバージョンを続行しなくてはなりません。 –

答えて

2

誰かがmysqli_*機能を使用することができ廃止され、PHP mysql_*機能の更新バージョンに言ったように、あなたのmysqli connection

<?php 
    $dbhost = 'localhost'; 
    $dbuser = 'root'; 
    $dbpass = ''; 
    $dbname = "dbname"; 
    $conn = mysqli_connect($dbhost, $dbuser, $dbpass,$dbname);//Put you db name here 
    if(! $conn) 
    { 
     die('Could not connect: ' . mysqli_error()); 
    } 


    echo 'Connected to MySQL<br>'; 
    //mysqli_close($conn); comment this line you code will work fine 
?> 

mysql.phpのおかげで
に希望を閉じているので、あなたのコードが動作していません!これは、あなたが

+0

この接続コードで動作するようになりました。ありがとう! – Naffis

+0

私は答えが嫌いです。非難された関数への回答を提供すべきではありません。何らかの理由で廃止されました。助けを求めてここに来る他のユーザーは、これが行かれたことだと思うでしょう。一部の人はコメントを読まないだけです。 – davejal

+1

ニッシンはShishilを隠す! – davejal

0

MySQLの機能が廃止されている支援し、また、PHP 7 MYSQL機能などからあなたのXAMPP/PHPのバージョンを確認し、この

mysql_close(); 

後、コード

mysql_query($sql); 

でこれを入れしようとします廃止されました

+0

以前は、接続ファイル 'mysql.php'からそのファイルを削除し、' mysql_query($ sql); 'の後ろに置いて接続を終了する必要があると思いますが、私は気に入らないその答えは、廃止された関数への回答を提供すべきではありませんが、理由のために推奨されません。 – davejal

+0

@davejal私たち全員が歴史を学び、時にはそれに従う理由があります。あなたは何をすべきか、そしてすべきではないことを誰にも伝えることはできません。人がそれを使用したいならば、彼/彼女の選択を完全に。 – Adi

+0

人は疑問を尋ねて、私は技術についての更新と一緒に答えました。 – Adi

関連する問題