2013-05-20 50 views
-3

我試着將文件插入一個表格,但即時得到與波紋管的代碼以下錯誤:mysqli_real_escape_string()PHP錯誤插入文件到一個數據庫

警告:mysqli_real_escape_string()預計2個參數,1鑑於

這裏是我的PHP代碼:

<?php 


if(isset($_FILES['uploaded_file'])) { 
    // Make sure the file was sent without errors 
    if($_FILES['uploaded_file']['error'] == 0) { 

     $sql_connection = mysql_connect("localhost", "teste", "localhost"); 
     mysql_select_db("skande5_form", $sql_connection); 

     $nameFile = mysqli_real_escape_string($_FILES['uploaded_file']['name']); 
     $mime = mysqli_real_escape_string($_FILES['uploaded_file']['type']); 
     $size = mysqli_real_escape_string($_FILES['uploaded_file']['size']); 
     $data = mysqli_real_escape_string(file_get_contents($_FILES ['uploaded_file']['tmp_name'])); 

沒有人知道如何解決這個問題?

+4

1.請注意錯誤消息。 2.轉到http://php.net/mysqli_real_escape_string並查看其他參數應該是什麼。 – Quentin

+0

也許還可以使用PDO。 – migg

+3

不要混合'mysql_connect'和'mysqli_real_escape_string'!他們來自**不同的**庫。 – Quentin

回答

2

這是因爲你是混合兩種mysql_*mysqli_功能,mysql正確的語法是mysql_real_escape_string

mysql_select_db和的mysql_connect - > mysql的

mysqli_real_escape_string - > mysqli的

我會建議使用mysqli,並使用準備好的語句來避免任何mysql注入的風險,請看這裏How can I prevent SQL injection in PHP?