2017-02-24 226 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年人們仍在使用舊的,死的MySQL擴展而不是MySQLi或PDO?並且現在學習如何防止SQL注入,然後才能真正擔心它,然後它將成爲第二性質 –

+0

在沒有PHP版本控制的舊機器上工作時...... – user2342558

+1

@ user2342558 - 然後提供者的機器應該升級到更新版本的PHP,而不是強迫你繼續使用舊的,不受支持的版本 –

回答

2

正如有人在PHP mysql_*功能的更新版本說已被棄用,你可以使用mysqli_*功能,你的代碼是不是你mysqli connectionmysql.php

<?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 
?> 

謝謝
希望工作,因爲你已經關閉了!這將幫助你

+0

得到它與這個連接代碼一起工作,謝謝! – Naffis

+0

我不喜歡答案,我們不應該爲已棄用的函數提供答案,它們因爲某個原因而被棄用。來這裏尋求幫助的其他用戶會認爲這就是要走的路。有些只是不讀評論。 – davejal

+1

很好掩蓋Shishil! – davejal

0

MySQL的功能已停用,並嘗試把這個在你的代碼

mysql_query($sql); 

mysql_close(); 

後還要檢查你的XAMPP/PHP版本從PHP 7 MYSQL功能已被棄用

+0

我認爲你的意思是之前,這意味着他應該從連接文件mysql.php中移除它,並將它放在mysql_query($ sql)之後的某處;'關閉連接,但我不喜歡答案是,我們不應該爲已棄用的函數提供答案,它們由於某種原因而被棄用。 – davejal

+0

@davejal有一個原因,我們都學習歷史,有時會遵循它。你不能告訴任何人他們應該做什麼,不應該做什麼。如果這個人想要使用它,那麼完全是他/她的選擇。 – Adi

+0

這個人問了一個疑問,我回復了關於技術的更新。 – Adi