2016-06-07 37 views
1

我試圖插入數據到MySQL數據庫,但一直卡在數據插入。mysql_query不能在最新的php版本中工作

我使用WampServer和PHP 5.6.16的版本3.0.0,phpMyAdmin 4.5.2

其他一切正常,我可以UPDATE, DELETE ...除INSERT INTO

代碼

<?php 
 
[email protected]_connect('localhost','root',''); 
 
mysql_query('SET NAMES utf8;'); 
 
mysql_select_db('mydb',$con); 
 
////////////////////////////////// 
 
if(isset($_POST['post_files'])) { 
 
$files = $_POST['files']; 
 
$title = $_POST['title']; 
 
////////////////////////////////// 
 
$query = "INSERT INTO files (`file`, `title`) VALUES ('$files', '$title')"; 
 
if(mysql_query($query)) 
 
{ 
 
echo'OK, Data Inserted.'; 
 
} 
 
else 
 
{ 
 
echo 'Sorry! Operation failed.'; 
 
} 
 
} 
 
mysql_close(); 
 
?> 
 
     \t

碼的這些束是工作在以前的PHP版本的罰款。

+4

的'mysql'擴展已被棄用,將在未來被刪除:使用'mysqli'或'PDO'代替。 http://stackoverflow.com/questions/13944956/the-mysql-extension-is-deprecated-and-will-be-removed-in-the-future-use-mysqli –

+2

你應該閱讀SQL注入。 – jeroen

+4

@NanaPartykar實際上PHP的最新正式版本是7,因此mysql擴展已經從PHP中刪除。 – JesusTheHun

回答

2

,而不是mysql使用mysqli例如:

  • mysql_connectmysqli_connect
  • mysql_query更換將由mysqli_query($con, $query)

注意更換,對於一些函數,你可能需要仔細檢查參數:也許有som e在這裏和那裏的差異 - 但不是那麼多,我會說:mysql和mysqli都基於同一個庫(libmysql;至少對於PHP < = 5.2)

例如:

與MySQL,你必須使用mysql_select_db一旦連接,以表示對哪個數據庫,你想要做你的查詢 mysqli的,在另一邊,允許您將該數據庫名稱指定爲mysqli_connect的第四個參數。 不過,如果您願意,還可以使用mysqli_select_db函數。

欲瞭解更多信息,請閱讀這篇文章: PHP MySQL to MySQLi

相關問題